左联接案例以及注意事项:
红色的为左联接 ;
绿色的为 左联接的表 中的字段,注意,一定要判断!
橙色的 不能要,加上就报错。
var model = (from d in context.community
where d.Deleted == false && d.ID == id
join m in context.houseOrder on d.ID equals m.CommunityID
into subParent
from parent in subParent.DefaultIfEmpty()
// where parent.Deleted == false 不能要
join n in context.shop on parent.ShopID equals n.ID
into subParent1
from parent1 in subParent1.DefaultIfEmpty()
//where parent1.Deleted==false 不能要
select new CommunityDetailModel
{
DivisionCode = d.DivisionCode,
Price = d.Price.Value,
SellCount = 0,
RentCount = 0,
CommunityID = d.ID,
CommunityName = d.Name,
CommunityLocation = d.Location,
BuildYear = d.BuildYear.Value.Year,
LandArea = d.LandArea.Value,
BuildingType = d.BuildingType,
PropertyCompany = d.PropertyCompany,
GreeningRate = d.GreeningRate,
PlotRatio = d.PlotRatio,
Lng = d.Lng,
Lat = d.Lat,
ShopID = string.IsNullOrEmpty(parent1.Name) ? 0 : parent1.ID,
ShopName = string.IsNullOrEmpty(parent1.Name) ? "" : parent1.Name,
Phone = string.IsNullOrEmpty(parent1.Phone) ? "" : parent1.Phone,
ShopLocation = string.IsNullOrEmpty(parent1.Location) ? "" : parent1.Location
}).FirstOrDefault();