C# 实体框架SqlQuery检索匿名类型记录

C# 实体框架SqlQuery检索匿名类型记录,c#,entity-framework-6,C#,Entity Framework 6,我正在写一个灵活的报告系统。作为其中的一部分,我通过如下方式连接创建SQl语句 sql=“从一个名称为ename=1的文件中选择*” 我想知道我如何使用 db.Database.SqlQuery(sql) 返回匿名记录的集合,使其真正具有灵活性 我找不到一个方法来做它,因为它似乎是强类型的 可以让它返回匿名类型的记录。举个例子就好了我可能错误地解释了你的目标,但听起来你想使用投影。您可以从Linq返回匿名类型的列表。例如: var anonymousListOfBoxes = from

我正在写一个灵活的报告系统。作为其中的一部分,我通过如下方式连接创建SQl语句

sql=“从一个名称为ename=1的文件中选择*”

我想知道我如何使用

db.Database.SqlQuery(sql)
返回匿名记录的集合,使其真正具有灵活性

我找不到一个方法来做它,因为它似乎是强类型的


可以让它返回匿名类型的记录。举个例子就好了

我可能错误地解释了你的目标,但听起来你想使用投影。您可以从Linq返回匿名类型的列表。例如:

var anonymousListOfBoxes =
   from b in CustomerBoxes
   select new {
        b.Customer,
        b.BoxID,
        b.Barcode
   };

现在,匿名列表框将是一个System.Linq.IQueryable。每个项目将有3个属性-客户、BoxID和条形码。列表将不是CustomerBox的集合,因为如果您没有使用带有“select”的投影,列表将不会是CustomerBox的集合。

我不确定我要说什么,但是OR/m映射类型,而匿名类型可以是任何类型。也许您可以使用Automapper或类似的工具映射实际类型并将它们映射到匿名类型