Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该实例化一个新模型吗?_C#_Asp.net Mvc_Class - Fatal编程技术网

C# 我应该实例化一个新模型吗?

C# 我应该实例化一个新模型吗?,c#,asp.net-mvc,class,C#,Asp.net Mvc,Class,MVC。我正在将数据传递给模型中的视图。在我的存储库中,我将linq结果映射到模型。在控制器中,我发送数据。我应该做哪一个: List<PersonModel> people = new List<PersonModel>(); people = repo.GetPersonList(); return View(people); 任何一个都可以。我之所以使用第二个,是因为我认为repo正在创建一个新模型,然后在调用repo.GetPersonList函数时将其传递给控

MVC。我正在将数据传递给模型中的视图。在我的存储库中,我将linq结果映射到模型。在控制器中,我发送数据。我应该做哪一个:

List<PersonModel> people = new List<PersonModel>();
people = repo.GetPersonList();
return View(people);

任何一个都可以。我之所以使用第二个,是因为我认为repo正在创建一个新模型,然后在调用repo.GetPersonList函数时将其传递给控制器。我应该在控制器中也创建一个新实例,还是继续我的工作?

如果在您的控制器上,
存储库负责提供ViewModel,而您不允许控制器向ViewModel添加一个新的
PersonModel
,那么你一定要坚持第二个

坚持第二个


您的第一个代码段有一个冗余的
new List
调用,该调用分配一个新列表,而下一行使用您的
repo
中新创建的列表覆盖该引用。绝对不需要。

我更喜欢寄送的。它更具可读性。
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();