linq to sql返回boolean
我有一个表包含以下列的Fruits
UserID | FruitID
我想validationUserID是否已在FruitID上获得授权,所以我写的是这样的:
var IsAuthorized = (from f in MyDC.Fruits where f.UserID == TheUserID && f.FruitID == TheFruitID select f.FruitID).SingleOrDefault();
因此,如果用户被授权,则查询返回ID,如果未经授权,则返回null。 然后我检查返回值是否为null,然后根据返回的值设置bool。
我想要做的是返回bool:如果用户被授权,那么它应该返回true。
如何修改查询以返回布尔值?
谢谢。
var IsAuthorized = from (f in MyDC.Fruits where f.UserID == TheUserID && f.FruitID == TheFruitID select f.FruitID).SingleOrDefault() != null;
或者如果您希望由底层LINQ提供程序完成此操作(例如,如果您使用的是SQL Server),则可以使用更好的.Any
扩展方法:
var IsAuthorized = MyDC .Fruits .Any(f => f.UserID == TheUserID && f.FruitID == TheFruitID);
如果源序列包含任何元素,Any()将返回true; 否则,是的。
var IsAuthorized = from (f in MyDC.Fruits where f.UserID == TheUserID && f.FruitID == TheFruitID select f.FruitID).Any();