首页 新闻 会员 周边 捐助

升级到 .NET 10 后 EF Core 中没有了 SetPropertyCalls

-1
悬赏园豆:30 [已解决问题] 解决于 2025-11-13 21:25

将园子的博客系统升级到 .NET 10 后,下面的代码编译报错

Expression<Func<SetPropertyCalls<BlogPost>, SetPropertyCalls<BlogPost>>> setPropertyCalls = isPublish
    ? s => s.SetProperty(p => p.PostConfig, p => p.PostConfig | targetConfig)
    : s => s.SetProperty(p => p.PostConfig, p => p.PostConfig & ~targetConfig);
var updatedCount = await QueryBlogPosts(blogId, postIds).ExecuteUpdateAsync(setPropertyCalls);

错误信息

The type or namespace name 'SetPropertyCalls<>' could not be found (are you missing a using directive or an assembly reference?)
dudu的主页 dudu | 高人七级 | 园豆:24466
提问于:2025-11-13 13:22
< >
分享
最佳答案
0

这是 EF Core 10 的一个 breaking change,详见 ef-core-10.0/breaking-changes#mitigations-2

改为下面的代码解决了

var updatedCount = await QueryBlogPosts(blogId, postIds).ExecuteUpdateAsync(s =>
{
    if (isPublish)
    {
        s.SetProperty(p => p.PostConfig, p => p.PostConfig | targetConfig);
    }
    else
    {
        s.SetProperty(p => p.PostConfig, p => p.PostConfig & ~targetConfig);
    }
});
dudu | 高人七级 |园豆:24466 | 2025-11-13 21:24
其他回答(1)
0
收获园豆:30
寂静的羽夏 | 园豆:2380 (老鸟四级) | 2025-11-13 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册