我应该实例化一个新模型吗
本文关键字:模型 新模型 一个 我应该 实例化 | 更新日期: 2023-09-27 17:57:27
MVC。我正在将数据传递到模型中的视图。在我的存储库中,我将linq结果映射到模型。在控制器中,我发送数据。我应该做哪一个:
List<PersonModel> people = new List<PersonModel>();
people = repo.GetPersonList();
return View(people);
或
List<PersonModel> people = repo.GetPersonList();
return View(people);
正如我所提到的,在回购中,我将结果映射到模型,并使用一个新的模型实例:
var query = from p in _db.Person
orderby f.LastName
select new PersonModel
{
Id = f.PersonId,
LastName = f.LastName
};
return query.ToList();
任何一种都有效。我使用第二个,因为根据我的想法,回购是创建一个新的模型,然后在我调用回购时将其传递给控制器。GetPersonList函数。我应该在控制器中也创建一个新实例,还是按原样继续?
选择第二个。
第一个代码段有一个冗余的new List<T>
调用,它分配一个新列表,而下一行则用repo
中新创建的列表覆盖该引用。绝对没有必要。
如果在您的控制器上,repository
负责提供ViewModel,而您不想让控制器向ViewModel添加新的PersonModel
,那么您绝对应该坚持第二个。