我正在爲我的MVC4應用程序編寫一組單元測試。我想創建一個測試數據庫,在每次測試之前將會丟棄並重新填充。 對於我需要一個種子功能,會做這樣的事情:將數據庫中的數據導出到C#語句中
var project = new Project() {Name = "Project One", Description = "Watermelons make you high!"}
_context.Projects.Add(project);
var projectTwo = new Project() {Name = "Project Two", Description = "Insert your joke here"}
_context.Projects.Add(project);
等,爲我準備再次進行測試的所有對象。越多越好。
而我很懶。我不想用C#編寫所有這些。但是我可以使用我開發的Web應用程序快速創建大量測試數據。
現在的問題是如何將數據庫中的數據(sql server 2012)轉換爲C#語句,就像上面的例子一樣?
我可以將數據庫導出爲sql語句,並且每次爲每個腳本運行它。但是每當我的模型發生變化時(比如新字段),我都需要重新創建sql。有時,如果能夠訪問已放入數據庫的對象,並且sql腳本不允許這樣做,那麼這樣做會很好。
另一個選項是掀起一些正則表達式來將sql-script轉換爲對象。不知道這是多少工作。
我可能最終會這樣做。
那麼,有沒有可以將數據庫中的數據轉換爲C#對象的工具?
從我的理解你有一個測試數據庫,你想從數據和加載到_context。爲什麼你不能連接測試數據庫並使用entityframework來循環數據庫並加載_context? – KingPancake
這就是問題:任何地方都沒有數據。我需要創建它。而不是編寫c#語句,我想使用接口,然後將創建的數據轉換爲c#。我會在每次測試中放棄該數據庫。因此,這必須是c#語句,以便我可以重新創建數據庫。 – trailmax
我現在有點困惑。你能告訴我這個創建數據的網絡應用是什麼嗎?當你創建數據放入數據庫時,它是在sql語句中?它會直接進入數據庫嗎?或者是什麼? – KingPancake