c# - LINQ 一对多,3 级深度问题

标签 c# .net linq linq-to-sql one-to-many

我试图找出我在下面的 LINQ 语句中做错了什么。它不喜欢第三个 SELECT。当我输入查询时,它会在 Intelisense 中找到 tblAddresse.tblAdminCounty,但当我在它之后输入 SELECT 时,它会很奇怪。

这是否与 tblAddresstblAdminCounty 的关联方式有关?我本以为它在 tblAddress 下的 Intellisense 中显示的事实会使该声明不言而喻,但显然不是。

如果我在一个单独的函数中只查询 CountyName,它看起来像这样 -->

var countyName = from adminCounty in context.tblAdminCounties
                 where adminCounty.CountyID == countyID
                 select adminCounty.CountyName;

这是基于该站点的更大的 3 层方法 --> HERE

var query = from tblBusinesse in context.tblBusinesses
            where tblBusinesse.BusinessID == businessID
            select new
            {
                tblBusinesse.BusinessName,
                tblBusinesse.ContactName,
                tblBusinesse.EmailAddress,
                Address = from tblAddresse in tblBusinesse.tblAddresses 
                      select new 
                      { 
                          tblAddresse.AddressLine1, 
                          tblAddresse.AddressLine2, 
                          tblAddresse.AddressLine3, 
                          tblAddresse.CityName, 
                          County = from adminCounty in tblAddresse.tblAdminCounty
                                   select new
                                   {
                                       adminCounty.CountyName
                                   }

                      }
            };

最佳答案

您正在尝试查询它,就好像一个地址有多个县一样。它被称为 tblAdminCounty 而不是 tblAdminCounties 是否表明它只是一个项目?

尝试改变这个:

County = from adminCounty in tblAddresse.tblAdminCounty
         select new
         {
             adminCounty.CountyName
         }

只是:

County = tblAddresse.tblAdminCounty

关于c# - LINQ 一对多,3 级深度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165232/

相关文章:

c# - 在 Silverlight/WP7 应用程序中使用 MultiTouchBehavior 时,如何以编程方式查找缩放、旋转和平移值?

c# - 如何将自定义日志存储在使用diagnostics.wadcfg创建的Azure本地存储中

c# - 从当前返回具有日期时间的每条记录的大型 linq 查询中获取 "latest"日期时间

c# - LINQ 读取 XML ...与 XDocument

c# - C++ 和 .NET 是否在银行、医疗保健和电信等领域一起使用

c# - SQL 服务器通知

.net - .NET 单元测试框架之间有什么区别?

c# - Entity Framework 、LINQ 和填充父模型及其子模型

c# - WPF 是我的应用程序运行缓慢的原因吗?

c# - 相当于 C# 排序列表的 Java