我們有自定義代碼,它通過創建一些對象並將它們保存到DatabaseContext(我們對模式使用Migrations,但對數據不使用)來擦除和初始化我們的測試數據庫。但是,我們的測試人員創建了更多的數據,並且在我們進行乾淨部署時不想丟失測試數據。因此我必須弄清楚如何從SQL Server獲取數據到C#中(一旦關閉),因此它將與我們的數據初始化程序一起運行。如何從SQL Server中一次性填充一組實體框架代碼POCOS(一次性關閉)?
我最初的方法是手動複製粘貼數據到C#對象初始化,但是這個上了年紀快,因爲有超過100行復制。
我的第二種方法是在SQL Server中使用SELECT語句創建對象,將C#初始化程序語法混合到SQL SELECT語句中,然後將由SQL Server生成的C#字符串複製回Visual Studio。
雖然第二種方法看起來不錯,但我不知道是否有一個明顯的解決方案(除了簡單的運行每次SQL INSERT腳本),我很想念。
兩個月,我有一個額外的觀察: 有被引入到數據的各種調整和行被排除在外。最初,我修改了生成的代碼,但後來發現更改底層SQL使得它更容易控制(這通常被認爲是最佳實踐,但在這種情況下,它已被驗證)。我同意一般人的觀點,即對修改生成的代碼應該非常謹慎。 – Jtrx