我正在尝试做一些应该相对容易的事情,但我只是不知道如何构造它。
我有一个生成的实体,我想通过添加 Linq Where 语句来覆盖它。
特此为上下文部分:
public partial class MyEntities: DbContext
{
public MyEntities()
: base("name=MyEntities")
{
}
public DbSet<Assignee> Assignees { get; set; }
}
我创建了一个新的 MyEntities 部分并尝试了以下操作
public override DbSet<Assignee> Assignees
{
get
{
return this.Assignees.Where(z => z.IsActive == true);
}
set;
}
但这会引发歧义错误(这是显而易见的)。
我怎样才能做到这一点?
谢谢
最佳答案
尝试公开 DbSet<Assignee>
和 IQueryable<Assignee>
有不同的名字
public partial class MyEntities: DbContext
{
public MyEntities()
: base("name=MyEntities")
{
}
public DbSet<Assignee> AssigneesSet { get; set; }
public IQueryable<Assignee> Assignees
{
get
{
return AssigneesSet.Where(z => z.IsActive == true);
}
}
}
关于c# - Entity Framework 4.1 - 使用过滤器覆盖实体 (DBSet),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890987/