列名称的 sql 表与对象的属性,C#,LINQ 映射

发布时间: 2017/2/28 23:16:42
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我将感谢任何帮助。

我不知道是否有一种方法映射表与对象的属性值的列名称。

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

多谢!

解决方法 1:

使用反射

string value = someData.GetType().GetProperty(key).GetValue(someData).ToString();
赞助商