public Artist GetArtistById(int id)
 {
     using (var context = new ChinookEntities())
     {
         context.Artists.MergeOption = MergeOption.NoTracking;
         return GetArtistByIdQuery.Invoke(context, id).FirstOrDefault();
     }
 }
 public Artist GetArtistById(int id)
 {
     using (var context = new ChinookEntities())
     {
         var result = context.ExecuteStoreQuery<Artist>("SELECT ArtistId, Name FROM Artist WHERE Artist.ArtistId=@id",
                                                        new SqlParameter
                                                        	{
                                                        		ParameterName = "@id",
                                                        		Value = id
                                                        	});
         return result.FirstOrDefault();
     }
 }
 public Artist GetArtistById(int id)
 {
     using (var context = new ChinookEntities())
     {
         var result = context.GetArtistById(id);
         var items = from item in result
                     select new Artist
                            	{
                            		ArtistId = item.ArtistId,
                            		Name = item.Name
                            	};
         return items.FirstOrDefault();
     }
 }
 public IEnumerable<Song> GetSongsByArtist(string name)
 {
     using (var context = new ChinookEntities())
     {
         var result = context.GetSongsByArtist(name);
         var songs = (from item in result.ToList()
                      select new Song
                                 {
                                     SongName = item.SongName,
                                     AlbumName = item.AlbumName,
                                     ArtistName = item.ArtistName
                                 }).ToList();
         return songs;
     }
 }
        public Artist GetArtistById(int id)
        {
            using (var context = new ChinookEntities())
            {
                var query = from artist in context.Artists
                            where artist.ArtistId == id
                            select new Artist
                                   	{
                                   		ArtistId = artist.ArtistId,
                                   		Name = artist.Name
                                   	};

                ((ObjectQuery)query).MergeOption = MergeOption.NoTracking;

                return query.FirstOrDefault();
            }
        }
        public IEnumerable<Song> GetSongsByArtist(string name)
        {
            const string query = @"SELECT Album.Title as AlbumName, Track.Name as SongName, Artist.Name as ArtistName
                                    FROM Artist
                                    INNER JOIN Album ON Album.ArtistId = Artist.ArtistId
                                    INNER JOIN Track ON Track.AlbumId = Album.AlbumId
                                    WHERE Artist.Name=@name";

            using (var context = new ChinookEntities())
            {
                var result = context.ExecuteStoreQuery<Song>(query, new SqlParameter
                                                                        {
                                                                            ParameterName = "@name",
                                                                            Value = name
                                                                        });
                return result.ToList();
            }
        }
        public IEnumerable<Song> GetSongsByArtist(string name)
        {
            using (var context = new ChinookEntities())
            {
                var query = from track in context.Tracks
                            where track.Album.Artist.Name == name
                            select new Song
                                   	{
                                   		AlbumName = track.Album.Title,
                                   		ArtistName = track.Album.Artist.Name,
                                   		SongName = track.Name
                                   	};

                ((ObjectQuery)query).MergeOption = MergeOption.NoTracking;

                return query.ToList();
            }
        }
 public IEnumerable<Song> GetSongsByArtist(string name)
 {
     using (var context = new ChinookEntities())
     {
         context.Tracks.MergeOption = MergeOption.NoTracking;
         return GetSongsByArtistQuery.Invoke(context, name).ToList();
     }
 }