程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体?

开发过程中遇到Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体的问题如何解决?下面主要结合日常开发的经验,给出你关于Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体的解决方法建议,希望对你解决Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体有所启发或帮助;

我有一张汽车桌和一张车主桌。我想在 DataGrIDVIEw 中显示它们。但我的代码仅在 owner 字段不为空时显示。我想显示所有这些 这是我的代码,也许你看到代码会更好地理解:

 var cars = (from u in db.cars
             join o in db.owner on u.ownerID equals o.ownerID
             order by u.carID
             SELEct new
             {
                 CarID = u.CarID,Carname = u.Carname,ownername = o.Firstname +" "+ o.Firstname,// Here I want to display owner name or Empty if there is no owner
             }).ToList();

                dgvCars.Datasource = cars;

我哪里做错了?我应该如何编写代码? u.ownerID 在我的表中是 nulleble。现在只显示有车主的汽车。但我什至想显示没有车主名字的车主。提前致谢!

解决方法

将查询更改为此,您需要外连接

var cars = (from u in db.cars
     join o in db.owner on u.ownerId equals o.ownerId into oj
     from o in oj.DefaultIfEmpty()
      order by u.carId
      SELEct new
      {
    CarId = u.CarId,CarName = u.CarName,ownerName = o.FirstName==null || o.LastName==null ?"": o.FirstName +" "+ o.LastName,}).ToList();
,
var cars = (from u in db.cars
             join o in db.owner on u.ownerId equals o.ownerId into r2
from r3 in r2.DefaultIfEmpty()
             order by u.carId
             SELEct new
             {
                 CarId = u.CarId,ownerName = r3.FirstName +" "+ r3.FirstName,owner name or Empty if there is no owner
             }).ToList();

                dgvCars.Datasource = cars;

大佬总结

以上是大佬教程为你收集整理的Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体全部内容,希望文章能够帮你解决Linq,即使在连接表中有空值的地方,如何选择,C# windows 窗体所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。