【发布时间】:2026-02-12 04:40:01
【问题描述】:
我有一个 POCO 类来描述我的模型:
public class Example
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get; set; }
}
我正在尝试做的是一种扩展方法,使用 Entity Framework DbSets 以这种方式投影我的类:
var qry = db.Examples.Select(x => new {
Prop1 = x.Prop1,
Prop2 = x.Prop2,
Prop3 = x.Prop3,
Description = XXXXX
}).ToList();
其中 XXXXX 是 Prop1、Prop2 或 Prop3 属性的值,我现在仅在运行时将其名称作为字符串。
我不能使用 Dynamic Linq,因为我的目标是 Entity Framework Core,而且我对 LINQ 表达式越来越着迷,我认为我离解决方案还很远...... 请您提供一些指导好吗?
【问题讨论】:
-
您是否总是选择 string 类型的 single 属性?
-
不,如果我在“示例”类中包含一个虚拟的“描述”属性,我需要一个投影,甚至是一个 IQueryable
-
LINQ to Entities 不允许投影到实体类型。并且匿名类型不能创建运行时。看看动态 LINQ。祝你好运。
-
我不能使用 Dynamic Linq,因为我的目标是 Entity Framework Core...无论如何感谢@Ivan Stoev,并为我之前的误解感到抱歉。
标签: entity-framework linq iqueryable