many-to-one 관계가있는 몇 개의 테이블이 있는데 쉼표로 구분 된 문자열이 포함 된 문자열을 만들려고합니다. 다음과 같이LINQ to Entities : 다 대일 관계에서 쉼표로 구분 된 문자열 만들기
것은 이제 국가와 도시를 부르 자 - 도시 테이블 State.ID에 FK가 있으며, 미국은 국가에 속하는 :
var foo = from item in _ctx.State
where item.country_id == country_id
select
new { id = item.ID,
names = item.Name + ": " + String.Join(", ",
(from c in _entity.City
where c.State.ID == item.ID
select c.City_Name).ToArray())
};
return Json(foo.ToList());
내가 좋아하는 뭔가를 찾고 있어요 :
[{ID = 3 명 = "CA : A, B, C '}, { ID = 5 명 ="OR : D, E'} 등
(this 질문에서)를 String.Join으로 거기, 나는 얻는다 :
0 엔티티LINQ 방법은 ' 는 (선택 System.String,이 선택 System.String [])에 가입 선택 System.String' 방법을 인식하지 않고,이 방법은 저장 식으로 변환 될 수 없다.
이 방법이 있습니까?
var foo = from item in _ctx.State
where item.country_id == country_id
select
new
{
id = item.ID,
names = item.Name,
cities = from c in item.City select c.Name
};
var bar = from item in foo.AsEnumerable
select new
{
id = item.id,
names = item.names + ": " + String.Join(", ", item.cities.ToArray())
};
return Json(bar.ToList());
편집 :