2014-02-20 83 views
3

我的自定义ado.net提供商合作,并使用该供应商我一体的实体框架支持Visual Studio 2010中,我创造一切可能的映射,并创建模型从数据库读取表格对象的所有相关元数据。对于我的测试,表格包含主键和其他字段。当我使用这个表创建一个数据库模型,我得到了所有列映射和一切的典范,但我还可以得到下面的错误信息:实体框架4.0生成只读模型,当我从现有的数据库

The model was generated with warnings or errors. Please see the Error List for more details. These issues must be fixed before running your application. Loading metadata from the database took 00:00:11.4799371. Generating the model took 00:00:04.2751189. Added the connection string to the App.Config file. Writing the .edmx file took 00:00:00.0005060.

如果我打开.edmx文件与XML编辑器,我见出现以下错误:

<!--Errors Found During Generation: 
    warning 6002: The table/view 'sqlfire.APP.CUSTOMERS' does not have a primary key defined. The key has been inferred and the definition was created as a read-only table/view. 
    --> 

它还为表添加了SELECT ...语句的DefiningQuery。

我准备了一圈找到解决的办法,并拼命地寻找在这个问题上有所帮助。

+0

很好的问题,亲爱的..同样的问题IHAVE – Ajay2707

回答

7

从错误消息看起来像你的表/视图之一没有主键EF需要在每一个表中的主关键字,以产生实体按键。

您仍然可以运行应用程序,但我强烈建议你添加主键作为警告。

+0

不幸的是,是不是有什么似乎是问题。我在桌上有一个主键。我正在研究实体框架与基于java的数据库的自定义ADO.NET驱动程序集成的内部。当EF代码使用所需的API查询数据库时,它返回元数据,清楚地显示PRIMARY键存在于表中,但是在生成模型XML时,它会给我带来问题。我正在寻找可能缺失的内部解决方案。微软EF组或MySQL组中的任何人都可能已经处理了这类问题。感谢您的关注。 – user2001457

+0

我遇到了完全相同的问题。我们有MS SQL Server和Oracle数据库以及oracle表上的视图。从视图生成实体时,我得到这个问题,它不会生成类。我手动设置所有的键,但它仍然不会生成。 – Pete

+0

经过这么多的搜索,这是完美的答案。 – Ajay2707

相关问题