Tôi đang cố gắng thực hiện điều gì đó tương đối dễ dàng, nhưng tôi không biết cách xây dựng nó.Entity Framework 4.1 - Thực thể ghi đè (DBSet) với Bộ lọc
Tôi có một thực thể được tạo mà tôi muốn ghi đè bằng cách thêm câu lệnh Linq Where.
Theo Thông tư này partial cho bối cảnh:
public partial class MyEntities: DbContext
{
public MyEntities()
: base("name=MyEntities")
{
}
public DbSet<Assignee> Assignees { get; set; }
}
tôi đã tạo ra một phần mới của MyEntities và thử như sau
public override DbSet<Assignee> Assignees
{
get
{
return this.Assignees.Where(z => z.IsActive == true);
}
set;
}
nhưng điều này ném một lỗi mơ hồ (đó là hiển nhiên).
Tôi làm cách nào để thực hiện việc này?
Cảm ơn
Điều này có vẻ hợp lý nhất ... Không chắc chắn nếu điều này là sẽ làm việc mặc dù vì EF vẫn sẽ tạo ra công khai DbSet Assignees {get; bộ; } và sẽ không được sử dụng khi gọi context.Assignees? –
Fox
@Fox Sau đó, bạn có thể thay đổi tên theo cách thủ công hoặc đặt tên khác cho thuộc tính 'IQueryable'. –
Eranga
Đẹp nhất, nó hoạt động hoàn hảo.Tôi chỉ cần đặt DbSet được bảo vệ để chỉ hiển thị một thuộc tính từ DbContext để đổ vào intellisense;) –