0

edmx 디자이너에서 표시 할 열을 쉼표로 분리하여 다른 엔티티로 변환 할 수 있습니까?edmx를 사용하여 쉼표로 구분 된 항목을 엔티티로 변환

테이블 구조

student 
    id 
    name 
    subjects << this is the comma delimited column (1,2,3,10) 

subject 
    id 
    name 

EDMX 디자이너 구조는 사람이 EF 디자이너에 작업을 수행하는 방법에 날 지점 수,

student 
    id 
    name 

student_subject 
    studentId 
    subjectid 

subject 
    id 
    name 

그렇다면 것이다.

참고 : 나는 테이블 구조를 변경할 수 없습니다 나는이 작업을 수행 할 수있는 방법이 없습니다

감사

답변

0

첫 번째 데이터베이스를 사용하고 있습니다. 최악의 경우 : SQL에서는 IN 절을 사용하여 주제를 가져올 수 있지만 linq에서는 그 옵션을 얻지 못했습니다.

var subjectIds = student.Subjects 
    .Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) 
    .Select (x => int.Parse(x)); 

var subjects = context.Subjects.Where(s => subjectIds.Contains(s.Id)); 
: 나는 어떤 남아있는 것은 당신이 먼저 Contains 쿼리로 Subject들 잡아 마침내 다음, 데이터베이스에서 Student를 잡아 int 배열의 주제를 분석하고, 근면 한 LINQ - 투 - 객체 작업입니다 두려워

(건축가를 '데이터베이스 디자인'과목을 수강하는 것을 잊지 말것)