2012-12-20 40 views
6

我使用帶有Adventureworks2012 DB嚮導創建一個ADO.NET實體數據模型試圖數據庫第一種方法。實體數據模型嚮導沒有創造EDMX表文件

測試數據庫連接的工作原理,以及連接字符串添加到App.Config中。

我選擇除標記爲(dbo)AWBuildVersionDatabaseLogErrorLog以外的所有表格。

嚮導完成時.edmx文件爲空,如果我在XML視圖中查看該文件,則EntityContainer爲空。

模型被創建後,它返回此錯誤在輸出窗口:

無法生成模型,因爲以下異常的:「的 表AdventureWorks2012.Production.Document由 引用關係,但無法找到。

我使用VS 2010 &的.NET Framework 4.0

回答

3

看來,實體框架不知道如何處理的數據類型,如HIERARCHYID對錶字段設置。我刪除了Production.Document表中的實體列表,以包含解決我的問題。

還要注意的是這個參考下面是爲了Adventureworks 2008R2與EF 1.0版本的代碼Plex的SQL Sever的,和我使用了Adventureworks 2012使用EF 4.4版本相同的CodePlex網站。

參考:http://msftdbprodsamples.codeplex.com/wikipage?title=AW2008Details

注:EF 1.0兼容性問題

實體框架團隊希望我們讓你知道的AdventureWorks2008是遙遙領先的一點點在卡特邁方面功能,它使用。在AdventureWorks2008中的一些數據類型(如HIERARCHYID和幾何形狀),實體框架不被支持。解決方法是從你的模型像排除表Production.Document如果可能,原因是目前在實體框架1.0的HIERARCHYID數據類型的支持。不幸的是,實體框架工具從數據庫更新模型會像Production.Document表中選即使創建模型的時候被明確排除在外,所以在使用上AdventureWorks2008R2該功能不支持在這個時候。我們期待着一個後續版本的實體框架,它具有完整的SQL Server 2008類型支持。 最後編輯2010年5月25日,在下午2:22由bonniefe,版本17

0

有一種方式來獲得這種逛逛如果你想從這個例子中吸取教訓,別再做任何有意義的。我將外鍵刪除到違規表中並刪除它,並能夠成功獲取

0

取消選中[允許空值]複選框(在表設計中)未創建的表的所有外鍵(表未轉換到模型)。

enter image description here

然後你就可以更新你的模型來獲取通過執行以下步驟那些表: -

第1步 - 右擊一些地方在您的.edmx文件的設計(即Model1.EDMX [Diagram1 ] 第2步 - 然後從上下文菜單中選擇/更新模型從數據庫.... 第3步 - 然後選擇「添加」 第4步 - 然後花費「表」複選框,並選擇你想要的表創建第一次) 第5步 - 然後單擊完成按鈕。 第6步 - 保存解決方案,並希望一切都會好的。

enter image description here

注:我使用Visual Studio 2013年

好運。

相關問題