2014-08-28 33 views
1

我们正在使用EF6.1.1 我有一个数据库视图。该视图具有“ID”列并且不可为空。我在edmx designer上添加了这个视图。我注意到设计师中“ID”列的关键图标。当我右键点击设计师的“ID”列时,我还注意到“实体键”选项被选中 但是当T4重新生成实体时,我没有看到相应的实体在ID列上具有“键”属性。 所以我得到编译时间警告当密钥存在于数据库视图和EDMX中时,T4不会生成KEY

警告4错误6002:表/视图'XXXXXX'没有定义主键。关键是推断出来的,定义是作为只读表/视图创建的。

回答

0

在你的SqlServer:

CREATE FUNCTION FunctionName() RETURNS TABLE AS RETURN (SELECT * FROM [dbo].[Viewname]) 

在你的应用程序,升级从数据库和导入功能FunctionName模型。

在你的控制器:

var some = db.**FunctionName()**.SingleOrDefault(c => c.field == someparam); 
相关问题