0

次のコードを想像してみてください。

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か所に表示されることを意味します。アーティストを取得するときと、アクトがロードされるとき

この適応コードをどのように一元化する必要がありますか?

4

1 に答える 1