【发布时间】:2014-03-13 21:15:14
【问题描述】:
我正在寻找一种以动态/编程方式更改列和字段名称的方法;
作为:
string iLoadProfileValue = "ColumnName";
string lastCol = DatabaseFunctions.DatabaseClient
.tbl_MeterLoadProfile
.OrderByDescending(a => a.MeterReadDate)
.FirstOrDefault(a => a.MeterID == meterID).iLoadProfileValue;
我将以编程方式更改 iLoadProfileValue 的值。 我想将该列的值设为 lastCol 变量。
怎么做?
非常感谢。
完成:
最后的情况是这样的: 感谢 thepirat000 和 Dismissile
string iLoadProfileValue = "MeterReadDate";
var myEntity = DatabaseFunctions.DatabaseClient.tbl_MeterLoadProfile.OrderByDescending(a => a.MeterReadDate).FirstOrDefault(a => a.MeterID == 6);
if (myEntity != null)
{
var properties = myEntity.GetType().GetProperty(iLoadProfileValue);
object value = properties.GetValue(myEntity);
}
【问题讨论】:
-
为什么要在 iLoadProfileValue 上使用 i 前缀?只是问问。
-
这是个坏习惯 :)。以 i 开头通常意味着该变量是一个 int。
-
:) 感谢您的警告,我会注意到的
标签: c# entity-framework entity-framework-6