使用UnitOfWork存储库模式,我可以使用以下方法访问引用:
var tmp = unitOfWork.Repository<User>().Queryable();我希望查询该表并恢复一个帐户,其中AccountId是一个long:
result = a.Any(e => e.AccountId == AccountId);这为我提供了AccountId帐户的记录。
我也有一个表格叫做电子邮件,它是链接到帐户表。因此,我现在希望将上面的查询更新为:
result = a.Any(e =>
e.AccountId == AccountId &&
e.Email.EmailID == EmailID
);其中EmailId是一个长的。现在,这应该会为特定用户帐户提取特定的电子邮件。
我得到的是:
Operator '&&' cannot be applied to operands of type 'bool' and 'User'发布于 2016-08-03 15:27:27
我发现,如果我使用以下方法,它对我是有效的。
Result = searchQuery.Any(e =>
e.AccountId == AccountId &&
e.Email.Any(f => f.Id == EmailId);发布于 2016-08-03 14:54:20
还不清楚你到底想要什么,但是
var tmp = unitOfWork.Repository<User>().Queryable();应该为您提供可以应用IQueryable<User>条件的Where,但是您将得到User集合或对象的结果。
unitOfWork.Repository<User>().Queryable().Where(e =>
e.AccountId == AccountId &&
e.Email.EmailID == EmailID
);如果您想要Email,您应该在上面加载带有User对象的Email,或者在unitOfWork.Repository<Email>().Queryable();上应用条件
https://stackoverflow.com/questions/38745796
复制相似问题