2014-10-31 114 views
0

我很感激任何幫助。用對象屬性映射C#的列表名稱,C#,LINQ

我想知道是否有方法映射表的列名與對象的屬性值。有靜態字段

------------------------------------ 
NO | NAME  | ADDRESS  
------------------------------------ 
1 Some name  Some address 
2 Another name Another address 
------------------------------------- 

而另一個表(比如,FORMATS):

SQL Server表(比如,DATA)與數據

----------------- 
ID | LINE_KEY 
----------------- 
1 NO 
2 NAME 
3 ADDRESS 

現在我需要映射的兩個表和字典填寫:

DATA someData = db.DATA.Find(2); //get some a record from DATA table 

Dictionary<string,string> mappedData = new Dictionary<string,string>(); 

foreach(FORMAT format in db.FORMATS) 
{ 
    string key = format.LINE_KEY; 
    //how?? pseudo code 
    string value = someData.Columns(column=>column.NAME == format.LINE_KEY).ColumnValue 
    mappedData.Add(key,value); 
} 

因此,我應該有這些我的字典裏的數值:

key | value 
---------------------- 
NO  2 
NAME  Another name 
ADDRESS Another address 

非常感謝!

回答

0

使用反射

string value = someData.GetType().GetProperty(key).GetValue(someData).ToString(); 
+0

謝謝!正是我需要的。 – 2014-10-31 12:34:56