【发布时间】:2011-03-02 01:31:19
【问题描述】:
我在 SQL 中有一个表 Site,其中包含三个属性 idReviewer1、idReviewer2、idReviewer3。现在我想在 Site 的实体类上创建一个方法来检查用户是否是审阅者:
partial class Site
{
public bool IsReviewer(int idUser)
{
return idReviewer1 == idUser || idReviewer2 == idUser || idReviewer3 == idUser;
}
}
我是这样使用它的:
return from s in db.Sites
where s.IsReviewer(user)
select s;
但是,Linq to SQL 不知道如何将其转换为 SQL。我收到以下错误消息:
Method 'Boolean IsReviewer(Int32)' has no supported translation to SQL.
我不想写这个:
return from s in db.Sites
where idReviewer1 == idUser || idReviewer2 == idUser || idReviewer3 == idUser
select s;
有没有什么方法可以把这个功能放在一个地方,而不需要借助 SQL?
【问题讨论】:
标签: .net visual-studio-2008 linq-to-sql .net-3.5