You are creating a Windows application by using the .NET Framework 3.5. The application is used to retrieve information about musicians. The application uses LINQ to SQL to return an Artist object, and related Album objects for each artist. You plan to add a method named FindArtists. The method has parameters named ArtistName of type string and IncludeAlbums of type boolean. The FindArtists method must meet the following requirements: If the IncludeAlbums parameter is set to True, then all the Album objects of the returned Artist object are populated. If the IncludeAlbums parameter is set to False, then all the Album objects of the returned Artist object are not populated. No duplicated data is returned. Data returned does not require additional processing on the client application. You need to ensure that changes to the client application are minimal. What should you do?
A.
Utilize LINQ join operations to pre-fetch artist and album data. Combine them into a single result set.
B.
Modify the DataContext.DeferredLoadingEnabled property to match the IncludeAlbums parameter.
C.
Modify and use the LoadWith and AssociateWith methods of the DataContext. LoadOptions. DataLoadOptions property if the IncludeAlbums parameter is set to True.
D.
Modify the return value of your method to return a multi-dimensional array of artists and albums. Iterate through the Artist object and populate the second dimension with album data.