使用UnitOfWork Repository模式我可以使用:
访问引用var tmp = unitOfWork.Repository<User>().Queryable();
我希望查询该表并恢复 AccountId 很长的帐户:
result = a.Any(e => e.AccountId == AccountId);
这为我提供了 AccountId 帐户的记录。
我还有一个名为Emails的表,它链接到Account表。所以我现在希望将上面的查询更新为以下内容:
result = a.Any(e =>
e.AccountId == AccountId &&
e.Email.EmailID == EmailID
);
其中 EmailId 很长。现在应该为特定用户帐户提取特定的电子邮件。
我得到的是:
Operator '&&' cannot be applied to operands of type 'bool' and 'User'
答案 0 :(得分:0)
目前尚不清楚你想要什么,但
var tmp = unitOfWork.Repository<User>().Queryable();
应该为您提供IQueryable<User>
,您可以在其中应用Where
条件,但您将获得User
收集或对象的结果。
unitOfWork.Repository<User>().Queryable().Where(e =>
e.AccountId == AccountId &&
e.Email.EmailID == EmailID
);
如果你想要Email
,你应该加载Email
上面有User
个对象,或者应用你的条件
unitOfWork.Repository<Email>().Queryable();
答案 1 :(得分:0)
我发现如果我使用以下内容,它对我有用。
Result = searchQuery.Any(e =>
e.AccountId == AccountId &&
e.Email.Any(f => f.Id == EmailId);