asp.net mvc数据库模型动态属性

时间:2010-09-13 05:55:13

标签: asp.net asp.net-mvc model partial-classes

我只是想知道如何在从数据库生成模型生成的实体上创建动态属性。

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

由于

1 个答案:

答案 0 :(得分: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 });
        }
    } 
    ....
}

然后将整个数据对象传递给视图而不是特定模型。