视图和实体框架

cep*_*ego 21 firebird entity-framework views

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

似乎为了向模型添加视图,这必须有一个关键字段!如果不允许视图具有关键字段,如何将此视图添加到我的模型中,至少在我正在使用的DBMRS的firebird中是这样.

知道如何解决这个问题吗?

Gre*_*man 11

这里有一个很好的答案:实体框架和SQL Server视图(参见接受的答案:https://stackoverflow.com/a/2715299/53510.)

EF通过组合所有不可空字段来推断视图的PK.您可以使用ISNULL和NULLIF来操纵视图列的可空性,从而强制EF选择您想要的PK.

  • 如果使用ISNULL或NULLIF,则会使字段为只读,因此视图将成为大多数情况下的只读视图.这在某些情况下才有用 (4认同)