我使用反射從數據庫存儲過程創建了一個類,我希望能夠在不使用實體或不必創建強類型的情況下將數據表的內容顯示到剃鬚刀視圖班級模型。現在我做的是以下幾點:在mvc 3剃鬚刀視圖中加載反射模型
public static List<object> GetPeople()
{
DataTable dt = DataAccess.GetPersons();
List<object> obj = MapDataTableToPerson(DataAccess.GetPersons());
return obj;
}
private static List<object> MapDataTableToPerson(DataTable dt)
{
List<object> returnClassObject = new List<object>();
Type typeClass = CreateClassFromDT(dt);
foreach (DataRow dr in dt.Rows)
{
object obj = Activator.CreateInstance(typeClass);
foreach(string columnName in ColumnNames)
{
PropertyInfo property = typeClass.GetProperty(columnName);
property.SetValue(obj, dr[columnName], null);
}
returnClassObject.Add(obj);
}
return returnClassObject;
}
我打電話GetPeople從控制器,並通過對一個觀點,但我對如何從剃刀創建的類獲取值沒有任何線索,如果有人能幫助它將不勝感激。
我很想知道爲什麼你不想要(模型/視圖模型)類來做到這一點? – Shyju
我工作的公司對數據庫進行了大量更改,他們不希望每次更改時重新編譯和發佈。 – triangulito
如果你打算爲大量的地方使用這種方法,那麼以後很難閱讀代碼。現在投入一些時間,並節省金錢和時間 – Shyju