首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储库模式多选择器

存储库模式多选择器
EN

Stack Overflow用户
提问于 2016-08-03 14:00:24
回答 2查看 76关注 0票数 0

使用UnitOfWork存储库模式,我可以使用以下方法访问引用:

代码语言:javascript
复制
var tmp = unitOfWork.Repository<User>().Queryable();

我希望查询该表并恢复一个帐户,其中AccountId是一个long:

代码语言:javascript
复制
result = a.Any(e => e.AccountId == AccountId);

这为我提供了AccountId帐户的记录。

我也有一个表格叫做电子邮件,它是链接到帐户表。因此,我现在希望将上面的查询更新为:

代码语言:javascript
复制
result = a.Any(e => 
    e.AccountId == AccountId &&
    e.Email.EmailID == EmailID
);

其中EmailId是一个长的。现在,这应该会为特定用户帐户提取特定的电子邮件。

我得到的是:

代码语言:javascript
复制
Operator '&&' cannot be applied to operands of type 'bool' and 'User'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-03 15:27:27

我发现,如果我使用以下方法,它对我是有效的。

代码语言:javascript
复制
Result = searchQuery.Any(e =>
                    e.AccountId == AccountId &&
                    e.Email.Any(f => f.Id == EmailId);
票数 0
EN

Stack Overflow用户

发布于 2016-08-03 14:54:20

还不清楚你到底想要什么,但是

代码语言:javascript
复制
var tmp = unitOfWork.Repository<User>().Queryable();

应该为您提供可以应用IQueryable<User>条件的Where,但是您将得到User集合或对象的结果。

代码语言:javascript
复制
unitOfWork.Repository<User>().Queryable().Where(e => 
    e.AccountId == AccountId &&
    e.Email.EmailID == EmailID
);

如果您想要Email,您应该在上面加载带有User对象的Email,或者在unitOfWork.Repository<Email>().Queryable();上应用条件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38745796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档