3
在某些情況下,應用程序運行過程中,我需要打開標識插入:OnModelCreating - 迫使新的創造
modelBuilder.Entity<Activity>().Property(p => p.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);
但是,因爲OnModelCreating只執行一次,這將是實現這一目標的最佳途徑?是否有可能重新創建模型?
嗨拉迪斯拉夫,有沒有一些信息爲什麼身份插入不能很好地與EF?我用我在問題中發佈的方法做了一些測試,到目前爲止沒有發現任何問題。如果你有一些信息,我會非常感激聽到它。我也在考慮使用Sql服務器查詢,但我試圖避免它,因爲如果我更改任何實體屬性名稱,例如,使用查詢時導入失敗,而如果使用DbContext,則不需要要注意這個問題。 – Goran
我無法完成這項工作。當我使用構建mehtod時,我傳遞了一個SqlConnection連接對象。在這一點上,connection.Open()的工作沒有問題。在我編譯模型並將其傳遞給我的DbContext後,我收到一個錯誤(來自Sql服務器日誌):用戶「Server-PC \ TestUser」的登錄失敗。原因:無法打開顯式指定的數據庫'TestProject.Data.MyDbContext'。錯誤:18456,嚴重性:14,狀態:38. [客戶端:<本地計算機>]。 – Goran
我忘了補充一句:爲什麼在這種情況下,模型構建器會嘗試使用上下文名稱連接到數據庫,而不是連接對象中正確的數據庫名稱?我正在使用的連接字符串是:「Data Source =。\\ SQLEXPRESS; Initial Catalog = TestDatabase; Integrated Security = True; MultipleActiveResultSets = True」 – Goran