相关疑难解决方法(0)

LINQ中的LEFT OUTER JOIN

如何在不使用join-on-equals-into子句的情况下在C#LINQ中对对象执行左外连接?有没有办法用where条款做到这一点?正确的问题:对于内连接很容易,我有这样的解决方案

List<JoinPair> innerFinal = (from l in lefts from r in rights where l.Key == r.Key
                             select new JoinPair { LeftId = l.Id, RightId = r.Id})
Run Code Online (Sandbox Code Playgroud)

但对于左外连接我需要一个解决方案.我是这样的,但它不起作用

List< JoinPair> leftFinal = (from l in lefts from r in rights
                             select new JoinPair { 
                                            LeftId = l.Id, 
                                            RightId = ((l.Key==r.Key) ? r.Id : 0
                                        })
Run Code Online (Sandbox Code Playgroud)

JoinPair是一个类:

public class JoinPair { long leftId; long rightId; }
Run Code Online (Sandbox Code Playgroud)

c# linq join

505
推荐指数
12
解决办法
64万
查看次数

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

Linq加入iquery,如何使用defaultifempty

我有一个linq连接查询wriiten,我想取值,如果其中一个是空的...

码:

var Details = 

UnitOfWork.FlightDetails
          .Query()
          .Join
          (
              PassengersDetails,
              x => x.Flightno,
              y => y.FlightNo,
              (x, y) => new
              {
                  y.PassengerId,
                  y.classType,
                  x.Flightno,
                  x.FlightName,
              }
          );
Run Code Online (Sandbox Code Playgroud)

我想用...

"Above query".DefaultIfEmpty
(
    new 
    {
        y.PassengerId,
        y.classType,
        string.Empty,
        string.Empty
    }
);
Run Code Online (Sandbox Code Playgroud)

"FlightDetails"是类上的Idatarepository类型,"PassengerDetails"是可查询的局部变量结果.如何获得乘客ID和Classtype的结果,并且整体结果中不包含flightno和flightname.

c# linq asp.net-mvc-4

29
推荐指数
1
解决办法
6万
查看次数

如何在sql中使用的linq中使用Left join?

如何在编写SQL查询的Linq中使用左联接?

select 
    p.Name, p.Family,
    E.EmployTypecode, E.employtypeName, E.EmplytyppeTye 
from 
    personnel as p
left join 
    Employee as E on E.EmployTypecode = p.EmployTypecode 
Run Code Online (Sandbox Code Playgroud)

c# sql linq

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

SQL到LINQ有多个join,count和left join

我用多个JOIN(包括一个LEFT JOIN)写了这个SQL请求.
它给了我预期的结果.

SELECT DISTINCT c.Id, 
       c.Title, 
       COUNT(v.Id) AS 'Nb_V2',
       COUNT(DISTINCT v.IdUser) AS 'Nb_V1',
       r.cnt AS 'Nb_R'
FROM TABLE_C c
JOIN TABLE_V v on c.Id = v.Id
LEFT JOIN ( 
    SELECT Id, COUNT(*)  AS cnt 
    FROM TABLE_R 
    GROUP BY Id
) r ON c.Id = r.Id
WHERE c.IdUser = '1234'
GROUP BY c.Id, c.Title, r.cnt
Run Code Online (Sandbox Code Playgroud)

但是,'Id喜欢Linq等同于此请求,将它放在我的应用程序的数据访问层.

我尝试过类似的东西:

var qResult = from c in dbContext.TABLE_C
              join v in dbContext.TABLE_V on c.IdC equals v.IdC
              join r in …
Run Code Online (Sandbox Code Playgroud)

sql linq join left-join sql-to-linq-conversion

3
推荐指数
1
解决办法
1215
查看次数

LINQ EF Core 左连接

这里有一个问题:LEFT OUTER JOIN in LINQ,但这是专门询问的有关 Linq-to-Objects 的问题。这个问题是关于 Linq-to-Entity 的。

我有一个内部联接,我想将其变成外部联接:

        alumni = alumni.Join(_context.AlumniSurvey, a => a.Uid, s => s.Uid, (a, s) => new { a, s })
                    .Where(x => x.s.UniversityNumber != x.s.Uid)
                    .Select(x => x.a);
Run Code Online (Sandbox Code Playgroud)

并不是说我只是回国的校友;我包含 AlumniSurvey 是因为我将根据用户在索引视图中选择的内容执行各种 where 子句

linq entity-framework

2
推荐指数
1
解决办法
4236
查看次数