gpt4 book ai didi

c# - Entity Framework 代码优先 : Is there a way to automatically filter disabled rows from DbSets?

转载 作者:行者123 更新时间:2023-11-30 21:00:14 25 4
gpt4 key购买 nike

在我必须应对的数据架构中,没有删除。相反,所有记录都有一个可为空的 datetime2,表示该记录已被“禁用”。这意味着在直接选择实体的情况下,我总是必须添加检查以查看实体是否被禁用。

到目前为止,我想出的只是一个名为 .Enabled() 的简单扩展方法,它只获取启用的行。到目前为止它似乎很有效,但我必须在每种情况下都输入它也很烦人。

肯定有人以前剥过这只猫的皮。有没有更好的方法来使用我不知道的 Entity Framework 来做到这一点?

最佳答案

我想你可以做这样的事情

public class MyContext : DbContext
{
public IDbSet<Thing> Things { get; set; }
public IQueryable<Thing> EnabledThings
{
get
{
return Things.Where(t => t.Enabled);
}
}
}

或与扩展方法相同(但在上下文中不是 DbSet/queriable)。

就我个人而言,在实践中我实际上完全按照您在示例中所做的那样使用 Things.Enabled().Whatever

关于c# - Entity Framework 代码优先 : Is there a way to automatically filter disabled rows from DbSets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15047836/

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