【问题标题】:Entity Framework - extra dynamicly calculated properties for business objects/models (ASP.NET MVC)实体框架 - 业务对象/模型的额外动态计算属性 (ASP.NET MVC)
【发布时间】:2011-01-26 00:04:48
【问题描述】:

假设我有包含以下字段的 Customer 模型:Id、FirstName、LastName。我想在列表视图中显示客户列表。为此,我使用我的服务方法返回 List 以在视图中进行迭代。

但现在我还想为每个客户显示一些附加信息,例如信用。此信息不存储在数据库的特定字段中,而是必须根据 Transacitons 中的数据计算得出。我应该在哪里做这个计算?

我可以有额外的字段,称为 Credit for Customer 模型,并在 getter 中完成,但我不确定这是否是最好的方法,尤其是在 od Model 内部我无法访问 EF 上下文。

【问题讨论】:

    标签: asp.net-mvc entity-framework business-objects


    【解决方案1】:

    假设您的问题措辞正确,这实际上只是为了展示,而不是为了业务流程(这将是一个完全不同的问题)...

    在您的演示模型中执行此操作。添加您需要的输入,投影到它们上,然后计算输出。这是一个非常简单的例子。现实世界更复杂。

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-14
      • 2011-07-22
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2012-08-14
      相关资源
      最近更新 更多