Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架4.0在从现有数据库创建模型时生成只读模型_C#_Sql_Entity Framework - Fatal编程技术网

C# 实体框架4.0在从现有数据库创建模型时生成只读模型

C# 实体框架4.0在从现有数据库创建模型时生成只读模型,c#,sql,entity-framework,C#,Sql,Entity Framework,我正在使用一个自定义ado.net提供程序,并使用该提供程序在Visual Studio 2010中集成实体框架支持。我正在创建所有可能的映射,并从数据库中读取表对象的所有相关元数据。对于我的测试,表包含主键和其他字段。当我使用此表从数据库创建模型时,我得到一个包含所有列映射和所有内容的模型,但我也得到以下错误消息: 生成的模型带有警告或错误。 有关详细信息,请参阅错误列表。在运行应用程序之前,必须解决这些问题。 从数据库加载元数据花费了00:00:11.4799371。 生成模型花费了00:0

我正在使用一个自定义ado.net提供程序,并使用该提供程序在Visual Studio 2010中集成实体框架支持。我正在创建所有可能的映射,并从数据库中读取表对象的所有相关元数据。对于我的测试,表包含主键和其他字段。当我使用此表从数据库创建模型时,我得到一个包含所有列映射和所有内容的模型,但我也得到以下错误消息:

生成的模型带有警告或错误。 有关详细信息,请参阅错误列表。在运行应用程序之前,必须解决这些问题。 从数据库加载元数据花费了00:00:11.4799371。 生成模型花费了00:00:04.2751189。 已将连接字符串添加到App.Config文件。 写入.edmx文件需要00:00:00.0005060

如果使用XML编辑器打开.edmx文件,我会看到以下错误:

<!--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。。。表的语句


我将绕圈寻找解决方案,并在这个问题上拼命寻求帮助。

从错误消息中可以看出,您的表/视图中有一个没有主键
EF
在每个表中都需要一个主键,以便生成实体键


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

不幸的是,这似乎不是问题所在。我桌上有一个主键。我正在为基于java的数据库研究实体框架与自定义ADO.NET驱动程序的内部集成。当EF代码使用所需的API查询数据库时,它会返回元数据,清楚地显示表中存在主键,但在生成模型XML时,它给了我一个问题。我正在寻找一个可能缺失的内部解决方案。Microsoft EF组或MySQL组中的任何人都可能处理过此类问题。谢谢你调查。我遇到了完全相同的问题。我们有MS SQL Server和链接的Oracle数据库以及Oracle表上的视图。从视图生成实体时,我遇到了这个问题,它不会生成类。我手动设置了所有的键,但它仍然不会生成。我在链接中得到了答案作为它的最高评级。好问题亲爱的。。我也有同样的问题