0
SQL 데이터베이스에서 데이터를 가져 오려고하는데 5 개의 레코드가 나타납니다. 그러나 5 개의 레코드 목록에서 두 개의 목록을 따로 만들어야합니다. 나는 아래에 그것을 할 노력하고 있어요 :컬렉션 목록에 데이터를 추가하는 방법 #
public class ParentModel
{
public List<Model1> Child1 { get; set; }
public List<Model2> Chil2{ get; set; }
}
내 다른 두 모델은 다음과 같습니다
가public class Model1
{
public int Id { get; set; }
public string Name { get; set; }
public int? GroupNumber { get; set; }
public string Description { get; set; }
}
public class Model2
{
public string Name { get; set; }
public int? Number { get; set; }
}
내가 모두 내 서비스에서 ParentModel에 정의 된 목록이 있지만 널 (null) 예외를 던지고있다 채우는 싶습니다 . 내 목록에 데이터를 추가하려면 어떻게합니까?
public ParentModel GetALL(int ID)
{
ParentModel objModel = new ParentModel();
// here I fetch data from database using Iqueryable:
IQueryable<Products> List = this._products.GetAll();
var NamesList = List .Where(m => m.Id == ID).ToList();
// Here I need to add data to my list. Also if it can be
// followed in a best possible way, Please do share it with me.
foreach (var obj in NamesList)
{
objModel.Child1.Add(new Model1
{
Id=obj.Id, // Here it throws error of null exception
Name = obj.Name,
GroupNumber = obj.GroupNumber,
Description =obj.Description
});
// the other list I would like to populate at the same time is
objModel.Chil2.Add(new Model2
{
Name = obj.Name,
Number = obj.Number
});
}
}
정말 멋지 네요. 잘 작동합니다. 왜이 속성들을 새로운 속성으로 생성해야하는지, 왜 먼저 속성에 메모리를 할당해야하는지에 대해 설명해 주시겠습니까? 내가 아는 한 생성자와 함께 new를 사용하지 않고 클래스의 모든 속성을 사용할 수 있습니다. – Sweetie
이 올바른지 확인하고 올바른 특성이 리턴됩니다. 그러나 child1과 chil2는 처음 초기화 될 때 모두 NULL이며 null 객체에서 .Add를 호출 할 수 없습니다. – DevilSuichiro
이들은 목록 개체이며 {get; set}은 목록을 초기화하지 않습니다. – jdweng