【发布时间】:2019-07-12 13:57:26
【问题描述】:
这是我的第一个问题,我正在尽我所能理解。
我想在具有许多独特属性的表中插入。
我想在 Linq 表达式中使用字符串而不是属性。
我想做这样的事情:
public List<string> AddEmploye(Employe pEmploye)
{
List<string> NonUnique = new List<string>();
List<string> Prop = new List<string>
{
"ID",
"NAS",
"CODE",
};
foreach (var prop in Props)
{
var result = (from t in _context.TEMP02A
where t.prop == pEmploye.prop
select t.name).ToList();
if (result.Count() > 0)
NonUnique.Add(prop);
}
return NonUnique;
}
我尝试了StackOverflow 上提出的许多解决方案,但都不适用于我的情况。
我尝试了以下解决方案: 0, 1, 2, 3, 和许多其他的,但这些解决方案都不适用于我的情况。
我希望 result.count 为 0 或更高,但是当我尝试 this solution 时,我收到了这个错误:
LINQ to Entities 无法识别 propertyInfo.GetValue。
有什么建议吗?
【问题讨论】:
-
嗨迈克尔,道具从何而来?另外,我不确定您的实际问题是什么,您能否尝试更清楚地解释您要做什么?
-
看起来他正在尝试使用 EF 按字符串名称访问列,但我不确定。
-
道具是我的实体属性,它们是我的数据库表中的唯一列。我想使用字符串而不是实体属性。目标是减少代码行的数量,因为我对 7 个实体属性重复相同的过程。
-
t在_context.TEMP02A表中的类型是什么?也是Employee吗? -
是的!
t和pEmploye类型相同
标签: c# entity-framework properties linq-to-entities