생성 된 코드는 Subdata와 일대 다 많은 관계로 컬렉션 MainData가있는 데이터베이스를 가져 왔습니다.linq을 사용하여 모델을 두 개의 다른 모델의 데이터로 채 웁니다.
public DbSet<MainData> MainDatas{ get; set; }
public partial class MainData
{
public string NameOfMainData{ get; set; }
public virtual ICollection<SubData> SubDataSet{ get; set; }
}
SubData에는 string 및 int와 같은 일부 복합 데이터 유형이 없습니다.
데이터를 뷰로 가져올 수 있으므로 해당 부분이 작동하는 것으로 알고 있습니다. 이 모델을 병합하여 "NameOfMainData"와 같은 모델에서 SubData의 컬렉션을보기에 쉽게 병합하고 싶지만 실제로 작동하지 않습니다. 여기 내 시도입니다
모델 ;
난 ... 난 DataList에있는 항목을 추가 할 수 있지만 내가 인터넷에서 아무것도 찾을 수 또는 내 자신을 위해 그것을 해결하기 위해 관리하지 않았다는 것을 생각 컨트롤러에서public class DataIWantInAList
{
public IList<DataIWant> DataList { get; set; }
}
public class DataIWant
{
public string NameOfMainData{ get; set; }
public IEnumerable<SubData> SubDataSet{ get; set; }
}
그리고이;
var DataToView= from p in db.MainData
select new DataIWant()
{
NameOfMainData= p.NameOfMainData,
SubDataSet= p.SubDataSet
};
return View(DataToView);
예상대로 작동하지 않습니다 .LINQ에서는별로 좋지 않지만 꽤 쉽고 그게 그렇게 일을하지 않을 때 실망하게 만듭니다.
모든 입력이 세련됩니다.
당신은 특히 Linq에서이를 수행하는 방법을 알고 싶습니다. 그렇기 때문에이 답변 자체는 아니지만 AutoMapper (http://automapper.org/)를 사용 해본 적이 있습니까? 이런 종류의 일을 * 그렇게 쉽게 *합니다. –