繁体   English   中英

具有替代触发器的实体框架

[英]Entity Framework with Instead Of triggers

我使用EF与SQL Server数据库。 我为该视图创建了一个视图和一个Instead Of Insert触发器,如下所示:

insert into Target (value, someFk) 
select value, 4 from inserted
select id from Target where @@ROWCOUNT > 0 and id = scope_identity() 

我将视图映射到EF edmx。 当我尝试添加实体时,当我调用SaveChanges()时,我得到以下异常:

无法更新EntitySet'TargetView',因为它具有DefiningQuery,并且元素中不存在支持当前操作的元素。

视图在映射中标记了标识列。

有什么建议么?

如果使用xml编辑器打开EDMX文件,则在定义TargetView的部分中,您将获得类似于以下内容的xml;

<EntitySet Name=".."  
           EntityType=".." 
           store:Type="Views" 
           store:Schema=".." 
           store:Name="..">
<DefiningQuery>SELECT ....</DefiningQuery>

您需要更改此xml部分才能进行CRUD操作;

<EntitySet Name=".."  
           EntityType=".."  
           store:Type="Tables" 
           Schema=".." />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM