我正在嘗試做一些應該相對容易的事情,但我不知道如何構建它。實體框架4.1 - 用過濾器覆蓋實體(DBSet)
我有一個生成的實體,我想通過添加一個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;
}
但是,這將引發多義性錯誤(這是顯而易見的)。
我該如何做到這一點?
感謝
這似乎是最合乎邏輯的...不知道這是否會起作用,因爲EF仍然會生成公共DbSet Assignees {get;組; }並且不會在調用context.Assignees時使用它? –
Fox
2012-01-17 07:42:29
@Fox然後您可以手動更改名稱或爲'IQueryable'屬性賦予不同的名稱。 –
Eranga
2012-01-17 07:50:25
不錯的,它完美的作品。我只是將DbSet設置爲只顯示DbContext中的一個屬性,用於intellisense pourpose;) – 2016-10-28 10:29:01