次のコードを想像してみてください。
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
};
ご覧のとおり、linqtosqlで生成されたactオブジェクトはShared.DO.Actオブジェクトに適合されています。この一環として、linqtosqlで生成されたArtistオブジェクトがShared.DO.Artistに適合されます。
コードベースの他の場所で、アーティストをリクエストしたい場合があります(以下を参照)。
return from a in DBContext.Artists
select new Shared.DO.Artist {
ID = artist.ID,
Name = artist.Name
},
GigId = a.GigID
};
これは、アーティストの広告コードが2か所に表示されることを意味します。アーティストを取得するときと、アクトがロードされるとき
この適応コードをどのように一元化する必要がありますか?