ADO.NET實體框架:更新嚮導不會添加表

.net ado.net entity-framework primary-key visual-studio-2008

我在我的項目中添加了一個新的ADO.Net實體數據模型,並使用更新嚮導將表添加到模型中。五個選定的表被添加到設計圖面。另外兩個表不會添加。我在嚮導中選擇它們並單擊“完成”,但它們從未出現在設計圖面上。

這是一個錯誤,還是有些情況下表格無法添加到模型中(按設計)?


更新:XML(* .edmx)揭示了問題。

<!--Errors Found During Generation:
warning 6013: The table/view 'FooBar.dbo.Roles' does not 
have a primary key defined and no valid primary key could be inferred. 
This table/view has been excluded. To use the entity you will need to 
review your schema, add the correct keys and uncomment it.-->
<!--<EntityType Name="Roles">
    <Property Name="role_id" Type="decimal" />
    <Property Name="role_desc" Type="nvarchar" MaxLength="30" />
</EntityType>-->

謝謝克雷格的回复。

一般承認的答案

設計表面與實體模型不同。您可以在EDMX中的映射中放置一個表格,該表格不會出現在設計圖面上。將文件視為XML以查看是否是這種情況。在這種情況下,更新嚮導將不允許您重新添加表,因為它們已經是實體模型的一部分。因此,一般來說,更新嚮導本身更多地了解您的實體模型,而不是設計表面。

我不認為這正是您所處的情況,但它應該為您提供解決方案的一般想法:進入XML並查找對相關表的引用。


熱門答案

將主鍵設置為所有表,或者只將一個未選中的複選框設置為“允許空”到每個表的任何列。這個對我有用 :)



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