Linq Pivot查询出错

时间:2013-03-07 17:35:27

标签: linq entity-framework linq-to-entities

当使用Linq将实体执行以下查询到“键/值表”时,我得到[System.NotSupportedException] "Specified method not supported"

有人能给我一个提示我做错了吗?

var Pivot = context.goe_postmeta.GroupBy(pm => pm.post_id).Select(
                g => new PivotTemp
                    {
                        ID = g.Key, 
                        FirstName = g.FirstOrDefault(p => p.meta_key == "_billing_first_name").meta_value, 
                        LastName = g.FirstOrDefault(p => p.meta_key == "_billing_last_name").meta_value, 
                        Address = g.FirstOrDefault(p => p.meta_key == "_billing_address_1").meta_value, 
                        PostCode = g.FirstOrDefault(p => p.meta_key == "_billing_postcode").meta_value, 
                        Phone = g.FirstOrDefault(p => p.meta_key == "_billing_phone").meta_value, 
                        OrderTotal = g.FirstOrDefault(p => p.meta_key == "_order_total").meta_value, 
                        PickupLocation = g.FirstOrDefault(p => p.meta_key == "_pickup_location").meta_value, 
                        PickupTime = g.FirstOrDefault(p => p.meta_key == "_pickup_time").meta_value, 
                        OrderItems = g.FirstOrDefault(p => p.meta_key == "_order_items").meta_value
                    }).ToList();

1 个答案:

答案 0 :(得分:0)

var Pivot = context.goe_postmeta.GroupBy(pm => pm.post_id).Select(
                g => new PivotTemp
                    {
                        ID = g.Key, 
                        FirstName = g.FirstOrDefault(p => p.meta_key == "_billing_first_name").meta_value, 
                        LastName = g.FirstOrDefault(p => p.meta_key == "_billing_last_name").meta_value, 
                        Address = g.FirstOrDefault(p => p.meta_key == "_billing_address_1").meta_value, 
                        PostCode = g.FirstOrDefault(p => p.meta_key == "_billing_postcode").meta_value, 
                        Phone = g.FirstOrDefault(p => p.meta_key == "_billing_phone").meta_value, 
                        OrderTotal = g.FirstOrDefault(p => p.meta_key == "_order_total").meta_value, 
                        PickupLocation = g.FirstOrDefault(p => p.meta_key == "_pickup_location").meta_value, 
                        PickupTime = g.FirstOrDefault(p => p.meta_key == "_pickup_time").meta_value, 
                        OrderItems = g.FirstOrDefault(p => p.meta_key == "_order_items").meta_value
                    }).ToList();

也许是因为你错过了“。”在ToList()之前?只是一个猜测