我在使用带有oracle视图的实体框架或一般视图时遇到问题 . 我可以通过我的实体轻松地从视图中检索数据,该实体只有视图而没有表,但是我无法插入,更新或删除任何记录 . 这给出了以下错误:
The table/view does not have a primary key defined. The Entity is read-only
即使我的所有视图都至少有一个字段已选中“实体密钥”,也会出现这种情况 .
注意:我使用的是VS2013和EF 6
您的视图需要 updateable (无法连接)并且必须定义 primary key (对于实体框架,可以禁用约束,如下所示) .
例:
CREATE OR REPLACE VIEW MYVIEW ( ID, <COLUMNS>, CONSTRAINT UNIQUENAMEFORPKCONSTRAINT PRIMARY KEY (<PK_COLUMN>) DISABLE ) AS SELECT <COLUMNS> FROM <TABLE> WHERE <CONDITIONS>;
1 回答
您的视图需要 updateable (无法连接)并且必须定义 primary key (对于实体框架,可以禁用约束,如下所示) .
例: