如何根据动态字段名引用Linq中的字段

Mar*_*tin 7 c# linq

首先,为糟糕的问题标题道歉 - 不完全确定我是否正在问正确的事情.

通常我可以执行以下操作来访问字段:

MyTables table = dc.MyTables.SingleOrDefault(p => p.id == someId);
somevalue = table.samplefield;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,变量somevalue最终将具有字段samplefield的值.

现在我有一个场景,我想填充一个变量,但我不知道设计时表字段的名称.但是,我将此字段名称放在字符串中.因此可以使用此字符串获取值吗?

希望这是有道理的!

SLa*_*aks 6

你需要使用反射,如下所示:(未经测试)

somevalue = typeof(MyTable).GetProperty(fieldName).GetValue(table, null);
Run Code Online (Sandbox Code Playgroud)