Ine*_*nez 3 asp.net-mvc entity-framework business-objects
假设我的客户模型包含以下字段:Id,FirstName,LastName.我想在列表视图中显示客户列表.为此,我使用我的服务方法返回List以在视图中迭代.
但现在我还想为每个客户显示一些额外的信息,例如信用.此信息不存储在数据库的特定字段中,但必须根据Transacitons中的数据进行计算.我应该在哪里进行此计算?
我可以有一个名为Credit for Customer模型的额外字段,并在getter中执行,但我不确定这是否是最佳方式,尤其是内部模型我无法访问EF上下文.
假设你的问题措辞正确,这只是为了展示,而不是为了业务流程(这将是一个完全不同的问题)......
在您的演示模型中执行此操作.添加所需的输入,投影到它们,然后计算输出.这是一个非常简单的例子.现实世界更复杂.
class Person // entity
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class PersonPresentation
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string DisplayName
{
get
{
return string.Format("{0} {1}", this.FirstName, this.LastName);
}
}
}
public ActionResult DisplayPeople()
{
var model = from p in Repository.AllPeople()
select new PersonPresentation
{
FirstName = p.FirstName,
LastName = p.LastName
};
return View(model);
}
Run Code Online (Sandbox Code Playgroud)