C# 当主键不可用或无法推断时,如何克服实体数据模型中的表/视图排除?

C# 当主键不可用或无法推断时,如何克服实体数据模型中的表/视图排除?,c#,.net,database,entity-framework-4,C#,.net,Database,Entity Framework 4,我有一个EF数据模型,我已经从现有数据库的许多视图中更新了它 有一个这样的视图,其中主键不存在,也无法推断主键,因此在尝试更新模型时会被排除 不幸的是,我无法更新我试图使用的视图的模式。我只是想知道,将这个实体添加到我的模型中,最好的做法是什么。实际上,我只需要视图本身的两列 我可能能够创建一个存储过程来返回结果集,但在我继续这一途径之前,我只是想知道是否还有其他方法 有什么建议吗?听起来你走对了路。实体框架对主键很挑剔。先编写代码(可能在使用跳转开始之后)。最大控制!您必须100%确保您的视图

我有一个EF数据模型,我已经从现有数据库的许多视图中更新了它

有一个这样的视图,其中主键不存在,也无法推断主键,因此在尝试更新模型时会被排除

不幸的是,我无法更新我试图使用的视图的模式。我只是想知道,将这个实体添加到我的模型中,最好的做法是什么。实际上,我只需要视图本身的两列

我可能能够创建一个存储过程来返回结果集,但在我继续这一途径之前,我只是想知道是否还有其他方法


有什么建议吗?

听起来你走对了路。实体框架对主键很挑剔。先编写代码(可能在使用跳转开始之后)。最大控制!您必须100%确保您的视图行可以由EF唯一标识,否则您将在结果集中得到重复的结果。@Gert Arnold,谢谢,但在本例中,我使用的是一个已经存在的数据库,而不是一个我必须对现有数据库对象进行更改的数据库。我可能有能力创建新的存储过程,就是这样。我希望EF中可能有一些东西可以让我解决问题中给出的问题。当然,但您可以先使用现有数据库编写代码(有些人称之为代码二)。您可以自己创建一个POCO类并将其映射到视图。请参阅Lerman和Miller的《编程实体框架:代码优先》。