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

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

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

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

 

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

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

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

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