进行SQL SERVER左外连接想用DEFAULTIFEMPTY()试着赋予默认值,结果赋不上是什么原因呢?
Location defaultLoc = new Location { Id = String.Empty, Name = "黑凤梨", Postcode = String.Empty };
var re = from u in _context.UserMsg
join l in _context.Location
on u.LocationId equals l.Id
into LocGroup
from item in LocGroup.DefaultIfEmpty(defaultLoc)
where u.Status == "0"
select new
{
PerId = u.Id,
PerName = u.Name,
PerAge = u.Age,
PerLocation = item.Name
};
var rre = from u in _context.UserMsg
join l in _context.Location
on u.LocationId equals l.Id
into LocGroup
select new { UserName = u.Name,Loc = LocGroup };
List<Location> gg = new List<Location>();
LogHelper.Logger.Info(JsonConvert.SerializeObject(gg));
LogHelper.Logger.Info(JsonConvert.SerializeObject(gg.DefaultIfEmpty(defaultLoc)));
LogHelper.Logger.Info(JsonConvert.SerializeObject(rre));
LogHelper.Logger.Info(JsonConvert.SerializeObject(re));