相关疑难解决方法(0)

从Linq到Sql的随机行

当我有条件时,使用Linq to SQL检索随机行的最佳(和最快)方法是什么,例如某些字段必须为true?

.net c# linq-to-sql

110
推荐指数
5
解决办法
6万
查看次数

如何让SelectMany使用Join?

鉴于我在Linq To Sql模型中有三个表(Customer,Orders和OrderLines)

客户 - 一对多 - >订单 - 一对多 - > OrderLines

我用的时候

var customer = Customers.First();
var manyWay = from o in customer.CustomerOrders
              from l in o.OrderLines
              select l;
Run Code Online (Sandbox Code Playgroud)

我看到一个查询获得客户,这是有道理的.然后我看到客户订单的查询,然后是每个订单获得订单行的单个查询,而不是加入两个订单.总共n + 1个查询(不包括获取客户)

但是,如果我使用

var tableWay = from o in Orders
               from l in OrderLines
               where o.Customer == customer
               && l.Order == o
               select l;
Run Code Online (Sandbox Code Playgroud)

然后,我没有看到每个订单获得订单行的单个查询,而是看到连接两个表的单个查询.共1个查询(不计入客户)

我更喜欢使用第一个Linq查询,因为它对我来说似乎更具可读性,但为什么L2S不像我在第一个查询中所期望的那样加入表?使用LINQPad我看到第二个查询被编译成SelectMany,虽然我没有看到第一个查询的变化,不确定这是否是我的查询中某些问题的指示.

c# linq-to-sql

5
推荐指数
1
解决办法
397
查看次数

标签 统计

c# ×2

linq-to-sql ×2

.net ×1