我有记录标记为“IsArchived”。我正在寻找一种从当前的MVC3 / EF3 Web应用程序中排除这些记录的权宜之计。
有没有办法在EF图层中添加某种“IsArchived”过滤器。在我的例子中,我有一个单独的Model项目,其中表/视图表示为POCO实体,以及CSDL和SSDL文件中包含的映射。
非常感谢您的帮助。
编辑:
我使用的是“ObjectContext”而不是“DbContext”,主要是因为我正在使用的数据建模工具。此工具可创建上下文和POCO文件。
我想知道是否可以编辑此上下文文件,如下所示:
public ObjectSet<StdOrg> StdOrg
{
get
{
if ((_StdOrg == null))
{
_StdOrg = base.CreateObjectSet<StdOrg>("StdOrg");
// new line below. Got cast error tween both sides.
_StdOrg = (ObjectSet<StdOrg>) _StdOrg.Where(r => r.IsArchived == false);
}
return _StdOrg;
}
}
答案 0 :(得分:2)
基本上是一个过滤DBSet实现,该示例基本上显示用于软删除。我们在App中使用它没有问题。
但是我们正在使用DBcontext,因此不确定它如何与Object Context一起使用或如何进行调整