0
Я пытаюсь извлечь данные из базы данных SQL, и я получаю 5 записей. Но из этого 5 списков записей я хочу создать два списка отдельно. Я пытаюсь сделать это ниже:Как добавить данные в список коллекции в C#
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 из моей службы, но она бросает пустое исключение , Как я могу добавить данные в свои списки?
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 при первом инициализации, и вы не можете вызвать .Add на нулевом объекте. – DevilSuichiro
Это объекты списка, а {get; set} не инициализирует списки. – jdweng