当我从现有数据库创建模型时,Entity Framework 4.0生成只读模型

use*_*457 5 c# sql entity-framework

我正在开发一个自定义的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.
  -->
Run Code Online (Sandbox Code Playgroud)

它还为表添加了一个带有SELECT ...语句的DefiningQuery.

我围成一圈寻找解决方案并拼命寻求这个问题的帮助.

HOK*_*ONG 11

从错误消息看起来您的某个表/视图没有主键.EF需要每个表中的主键才能生成实体键.

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