linq 쿼리에 문제가 있습니다. 그것은 간단한 문제이지만, 내가 접근하는 가장 좋은 방법은 무엇인지 모르겠습니다. 나는 (나는 단지 관련 필드를 보여주는거야) Artist
및 Song
라는 두 개의 테이블이 있습니다Linq to SQL - 두 테이블의 레코드 세부 정보를 반환하십시오.
ARTIST - int ArtistID (pk)
varchar Name
SONG - int SongID (pk)
uniqueidentifier UserID (To lookup songs the user has added to their account)
int ArtistID (foreign key to ArtistID in Artist table)
varchar songName
내가하고 싶은 것은, 주어진 (사용자의 모든 노래를 검색 내 DAL의 방법을 만드는 것입니다 사용자 ID)를 선택하고 아티스트 이름과 노래를 결합한 중계기에 표시합니다 (최종 출력은 ArtistName - songName
이됩니다). 이 쿼리를 만들었습니다 :
var query = from p2 in db.SONG
where p2.UserID == givenUserID
join p in db.ARTIST
on p2.ArtistID equals p.ArtistID
select new ArtistSongStruct
{
ArtistName = p.Name,
songName = p2.songName
};
return query;
이것은 비즈니스 계층에서 디버그하고 올바른 값을 읽을 수있는 정도까지 작동합니다. 그러나 ArtistSongStruct
은이 메서드에 대해 DAL에서 만든 사용자 지정 구조체입니다. 그게 일을하는 좋은 방법인지 확실하지 않습니다. 둘째로, 비즈니스 계층으로 반환하더라도 리피터가 실제 값을 표시 할 수 없습니다. 이름이 ArtistName/songName
인 속성이 없다는 오류를 표시합니다.
아티스트 ID를 기반으로 아티스트와 곡을 반환하는 가장 좋은 방법은 무엇입니까? 제안 해 주셔서 감사합니다. 나는 L2S에 대해 아주 익숙하다. 그래서 이것은 약간 혼란 스럽다.
일을 ToList을 기억하기위한 빠른 응답()에 –
감사합니다. ToList()를 반환하려고 시도했지만 리피터가 'DataBinding :'MyProj.DAL + ArtistSongStruct '에'ArtistName ''이라는 이름의 속성이 포함되어 있지 않다는 오류가 발생합니다 (내 repeater 코드는'<% # DataBinder .Eval (Container.DataItem, "ArtistName 순") %> ' – XSL
나는 내 DAL 내 방법은, 추가해야합니다 : '공공 정적 목록 GetUserLinks (GUID cUser)' –
XSL