2015-02-08 100 views
1

我正在写一个灵活的报表系统。作为它的一部分我通过连接像实体框架SqlQuery返回匿名类型记录

SQL创建SQL语句=“从a_v选择*其中的ename = 1”

我想知道如何使用

db.Database.SqlQuery(sql) 

返回集合的匿名记录,所以它是真正灵活的。

我找不到办法做到这一点,因为它似乎是强类型。

是否可以返回匿名类型的记录。一个例子会很好

+0

我不是很确定我要说什么,但是一个OR/M映射类型,而匿名类型可以是任何类型。也许你可以映射实际的类型,并使用Automapper或类似的东西将它们映射到匿名类型 – 2015-02-08 18:06:48

回答

0

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

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

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