Lambda 表达式导航属性上的Where

发布于 2024-08-15 23:06:25 字数 545 浏览 2 评论 0原文

下午好,

我有三个实体(涉及这个问题)

公司(ID等..) 公司地址(地址ID、公司ID、排名) AddressDetails(AddressID、街道、城市、州、邮政编码)

排名和公司 ID 不在 AddressDetails 中的原因是因为地址详细信息通过 ContactAddress 实体与联系人共享。

无论如何,我需要构建一个 IQueryable 给定一个 IQueryable 来检查字符串是否包含在城市(最终或状态)中。我想使用 Lambda 表达式,而不是 from c in Companies 语法...我尝试过

query = query.Select(c => c.Addresses.Where(a => a.AddressDetails.City.Contains(City)).Select(ca => ca.Company));

在此示例中,c.Addresses 是 CompanyAddress 的导航属性。

感谢您的帮助,

保罗

Good afternoon,

I have three entities (that concern this question)

Company (ID, etc..)
CompanyAddress (AddressID, CompanyID, Rank)
AddressDetails (AddressID, Street, City, State, Zip)

The reason Rank and company id aren't in the AddressDetails is because the address details are shared with contacts via a ContactAddress entity.

Anyway, I need to build an IQueryable given an IQueryable that will check if a string is contained in the City (and eventually or state). I'd like to use Lambda expressions not the from c in companies syntax...I tried

query = query.Select(c => c.Addresses.Where(a => a.AddressDetails.City.Contains(City)).Select(ca => ca.Company));

In this example c.Addresses is the navigation property for CompanyAddress.

Thanks for any help,

Paul

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情深已缘浅 2024-08-22 23:06:25

我认为这会起作用:

query = query.Where(c => c.Addresses.Any(a => a.AddressDetails.City.Contains(City)));

我假设查询是IQueryable

I think that this will work:

query = query.Where(c => c.Addresses.Any(a => a.AddressDetails.City.Contains(City)));

I assume that query is IQueryable<Company>.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文