视图和实体框架

21

我在数据库中创建了一个视图,希望将其包含在实体模型中。但是,当我尝试通过VS 2008更新实体模型时,警告消息通知我正在尝试添加的表或视图没有主键。

似乎为了将视图添加到模型中,必须具有关键字段!如果视图不允许具有关键字段,至少在我使用的firebird数据库管理系统中,如何将此视图添加到我的模型中?

有什么解决方法吗?


2
这篇文章可能会有所帮助:http://smehrozalam.wordpress.com/2009/08/12/entity-framework-creating-a-model-using-views-instead-of-tables/ - Syed Mehroz Alam
这是一个Visual Studio扩展,可以为您完成所有工作,请查看此帖子:对ADO.NET Entity-Framework Designer中缺乏对SQL视图的支持感到沮丧吗? - Shimmy Weitzhandler
2个回答

11

4
如果您使用ISNULL或NULLIF,这将使字段变为只读,因此该视图在大多数情况下成为只读视图。这只有在某些情况下才有用。 - Erik Funkenbusch

0

Firebird视图中没有键。相反,使用以下命令将一个或多个字段设置为“非空”:

update RDB$RELATION_FIELDS set RDB$NULL_FLAG = 1 where (RDB$FIELD_NAME = 'A_FIELD') and (RDB$RELATION_NAME = 'A_VIEW')

然后在实体框架中重新导入数据库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接