2010-09-13 75 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 }); 
     } 
    } 
    .... 
} 

再經過將整個數據對象轉換爲視圖而不是特定的模型。