gpt4 book ai didi

c# - 带有 Instead Of 触发器的 Entity Framework

转载 作者:太空狗 更新时间:2023-10-29 20:34:32 25 4
gpt4 key购买 nike

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

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

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

Unable to update the EntitySet 'TargetView' because it has a DefiningQuery and no element exists in the element to support the current operation.

View 在映射中标记了标识列。

有什么建议吗?

最佳答案

如果您使用 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=".." />

关于c# - 带有 Instead Of 触发器的 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12217169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com