c# - 将数据添加到现有模型,并将真实数据添加到 MVC
问题描述
我有一个先前的问题,显示了我的模型的外观以及添加了 FAKE 数据。 基于需要添加到 List<T> 的 POCO 添加到现有模型
现在我想添加真实数据,我想知道如何做到这一点。是否应该或需要我遍历result
??
public IActionResult FindPerson (FindPersonViewModel findPersonViewModel)
{
var firstName = findPersonViewModel.FirstName;
var middleName = findPersonViewModel.MiddleName;
var lastName = findPersonViewModel.LastName;
var emailAddress = findPersonViewModel.EmailAddress;
var genderTypeId = findPersonViewModel.GenderTypeId;
// GET REAL DATA
using (AzEdsIdentityContext context = new AzEdsIdentityContext(AzEdsIdentityContext.Options))
{
var result = context.FindPerson(firstName, lastName, genderTypeId);
// for loop on the result to hydrate new List<FindPersonResultsViewModel>() ?
}
// Note: here is exactly how I hydrated the model with fake data
findPersonViewModel.findPersonResultsViewModel = new List<FindPersonResultsViewModel>()
{ new FindPersonResultsViewModel { AZEDID = 33423432, PersonID = 3534454, FirstName = "John", LastName = "Williamson", MiddleName = "K", ExistInContactManager = false, ActionType = true, ContactType = "Principal", DOB = "5/1/1985", PhysicalAddress = "123 main st. mesa, az.", PreferredEmail = "john@aol.com", PreferredPhone = "602-393-4443"},
new FindPersonResultsViewModel { AZEDID = 33423432, PersonID = 3534454, FirstName = "Jon", LastName = "Williamson", MiddleName = "K", ExistInContactManager = false, ActionType = true, ContactType = "Principal", DOB = "5/1/1985", PhysicalAddress = "123 main st. mesa, az.", PreferredEmail = "john@aol.com", PreferredPhone = "602-393-4443"},
};
}
解决方案
给定 Person 模型
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
你从你的上下文中获得结果
List<Person> result = context.getPersons();
您需要一个不同但相似类型的集合,因此您使用投影
List<PersonViewModel> result =
context.getPersons()
.Select(p => new FindPersonResultsViewModel
{
Name = p.Name,
Email = p.Email
}).ToList();
然后将集合属性分配给另一个模型
var model = new ResultViewModel
{
...
findPersonResultsViewModel = result
};
如果您要返回 IEnumerable,请务必.ToList()
获取List<T>
.
推荐阅读
- python - 通过Django模板中的其他对象值访问对象值?
- xpages - .png icons are not displaying after upgrading to Domino V10 FP4
- ios - Isn't layoutSubviews supposed to get called once per frame only?
- c# - 使用 XML 文档作为 DataTable 的数据源
- android - 导航栏应该在 android 快餐栏的顶部吗?
- python - Cassandra 3.x 读取性能,每行 100 列
- asp.net-core - 无法在 Entity Framework .Net Core 3.1 中插入重复的 Id
- python - 当我尝试使用 python 使用 selenium 输入用户名和密码时出现错误
- react-native - react-native-svg 中 Arc Progress 的圆角
- javascript - 如何使用散列 bcrypt 版本更新数据库中的每个密码?