我很感激任何帮助。
我想知道是否有办法用对象的属性值映射表的列名。
带有数据的SQL Server表(例如,DATA
):
------------------------------------
NO | NAME | ADDRESS
------------------------------------
1 Some name Some address
2 Another name Another address
-------------------------------------
另一个包含静态字段的表(例如FORMATS
):
-----------------
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 :(得分:0)
使用反思
string value = someData.GetType().GetProperty(key).GetValue(someData).ToString();