【发布时间】:2010-04-28 06:31:02
【问题描述】:
我有一个名为“Users”的表,其中有一列名为“deleted”,这是一个布尔值,表示该用户已从系统中“删除”(当然,并未实际删除它)。
我也有很多表对 Users.user_id 列有一个 FK。 Subsonic 以类似的方式(非常好)为所有外键生成代码:
public IQueryable<person> user
{
get
{
var repo=user.GetRepo();
return from items in repo.GetAll()
where items.user_id == _user_id
select items;
}
}
虽然这很好,但有没有办法生成代码以始终过滤掉“已删除”用户?
在这里的办公室里,我们能想到的唯一建议是使用部分类并对其进行扩展。当有很多类使用 User 表时,这显然是一种痛苦,更不用说很容易在不经意间使用错误的属性(本例中为 User 与 ActiveUser):
public IQueryable<User> ActiveUser
{
get
{
var repo=User.GetRepo();
return from items in repo.GetAll()
where items.user_id == _user_id and items.deleted == 0
select items;
}
}
有什么想法吗?
【问题讨论】:
标签: subsonic subsonic-active-record