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();