所以我有以下代码:
return from a in DBContext.Acts
join artist in DBContext.Artists on a.ArtistID equals artist.ID into art
from artist in art.DefaultIfEmpty()
select new Shared.DO.Act
{
ID = a.ID,
Name = a.Name,
Artist = new Shared.DO.Artist
{
ID = artist.ID,
Name = artist.Name
},
GigId = a.GigID
};
这会加载一个行为对象并将其从 linq 对象调整为我的域行为对象。
正如你所看到的,我已经在艺术家上定义了一个外部连接来执行关系。
我这样做是因为我一直想要这个表演,不管它是否有艺术家。
如果该行为确实有艺术家,这将非常有效。
如果没有,那么代码就会死掉。这是罪魁祸首:
Artist = new Shared.DO.Artist
{
ID = artist.ID,
Name = artist.Name
},
如果我删除它,它的罚款。有可能做我正在尝试的事情吗?