C# 从已编译的查询委托返回匿名类型

C# 从已编译的查询委托返回匿名类型,c#,sql-server,entity-framework,c#-4.0,linq-to-entities,C#,Sql Server,Entity Framework,C# 4.0,Linq To Entities,我想从编译的查询中返回一个匿名类型,该查询从两个表中选择多个列 我尝试使用: public static Func < DBEntities, string> 如果返回匿名对象列表,将无法访问属性(除非使用动态) 您的选择中缺少类型名称: ... select new BOMWorkOrder { TransactionData = items.TRXDATE, TransactionId = orders.TRX_ID, ItemNumber = ord

我想从编译的查询中返回一个匿名类型,该查询从两个表中选择多个列

我尝试使用:

public static Func < DBEntities, string> 

如果返回匿名对象列表,将无法访问属性(除非使用
动态

您的
选择中缺少类型名称:

...
select new BOMWorkOrder
{
    TransactionData = items.TRXDATE,
    TransactionId = orders.TRX_ID,
    ItemNumber = orders.ITEMNBBR,
    AssemblyQuantity = orders.Assemble_Queantity,
}

由于您已经创建了类型
BOMWorkOrder
,请使用该类型而不是匿名类型:

... select new BOMWorkOrder 
    { 
        TransactionDate = items.TRXDATE,
        TransactionId = orders.TRX_ID,
        ItemNumber = orders.ITEMNMBR,
        AssemblyQuantity = orders.Assemble_Quantity
    };
...
select new BOMWorkOrder
{
    TransactionData = items.TRXDATE,
    TransactionId = orders.TRX_ID,
    ItemNumber = orders.ITEMNBBR,
    AssemblyQuantity = orders.Assemble_Queantity,
}
... select new BOMWorkOrder 
    { 
        TransactionDate = items.TRXDATE,
        TransactionId = orders.TRX_ID,
        ItemNumber = orders.ITEMNMBR,
        AssemblyQuantity = orders.Assemble_Quantity
    };
    select new bomWorkOrder
    {  
        TransactionDate =items.TRXDATE,
        TransactionId =orders.TRX_ID,
        ItemNumber =orders.ITEMNMBR,
        AssemblyQuantity =orders.Assemble_Quantity
    });