實體框架7:匿名類型不能具有多個具有相同名稱的屬性

entity-framework entity-framework-core

在過去,我有問題( 123 )實體框架的開發機器之間交換的時候,所以我希望得到一些簡單的實體框架7 RC1更新1升及運行,看看事情更容易。

我在本地複制了一個Azure數據庫,然後使用了DNX命令

dnx ef dbcontext scaffold "Server=MYDESK;Database=mydatabase;Trusted_Connection=True;" EntityFramework.MicrosoftSqlServer --outputDir Models

這創建了數據模型類和上下文類。我檢查了它,現在已經交換到另一台機器並檢查了代碼。在新機器上,它無法構建在Entity Framework 7生成的代碼中拋出錯誤:

dnx ef dbcontext scaffold "Server=MYDESK;Database=mydatabase;Trusted_Connection=True;" EntityFramework.MicrosoftSqlServer --outputDir Models

最後一行的構建錯誤是“匿名類型不能具有多個具有相同名稱的屬性”。為什麼Entity Framework 7會生成無法構建的代碼以及如何修復它?

一般承認的答案

看起來這是一個已知的錯誤: SQL Server腳手架為索引(rc1-final)#3847​​生成無效的匿名類型 ,這是由“混合具有相同名稱但位於不同表上的索引”引起的。最近提交的里程碑實體框架7 RC2路線圖 )修復了它。


熱門答案

錯誤很明顯。您不能擁有同名的多個屬性...將您的最後一行更改為:

    entity.HasIndex(e => new { 
                     CreatedAt = e.CreatedAt, 
                     Name2 = e.CreatedAt, 
                     Name3 = e.CreatedAt, 
                     Name4 = e.CreatedAt }).HasName("IX_CreatedAt");



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因