2010-09-13 78 views
0

我只是想知道如何去创建从数据库生成模型生成的实体的动态属性。asp.net mvc数据库模型动态属性

例如我有一个UserInformation表。在该表中,它具有有关用户(井derr)的基本信息,例如用户名,地址详细信息等。我想添加一个只读属性,将用户的姓名,地址详细信息和电话号码连接成一个字符串,可以输出到视图。关于如何创建这个动态属性的任何想法。这只是一个简单的例子,我想做一些更复杂的计算和连接。

谢谢

回答

1

有很多方法可以做到这一点。我相信映射到数据库表的类应该保持为“纯”,并且只包含反映数据库中实际字段的属性,但是这两个过程是相似的。

您可以创建包含所需信息的视图显示模型类:

public ViewResult Details(int id) 
{ 
    UserInformation info = ... // get the information object from the database 

    UserInformationModel model = new UserInformationModel { 
     Id = info.Id, 
     Details = String.Join(" ", new[] { info.Name, info.Address, info.PhoneNumber })); 
    } 

    return View(model); 
} 

的选择,如果你想将其添加到您的数据绑定对象:

public class UserInformation 
{ 
    ... 
    public string Details 
    { 
     get 
     { 
      return String.Join(" ", new[] { info.Name, info.Address, info.PhoneNumber }); 
     } 
    } 
    .... 
} 

再经过将整个数据对象转换为视图而不是特定的模型。