2

提供された GUID に基づいて特定の結果セットを返すと想定される LINQ to Entities Query があります。

    [OperationContract, WebGet(ResponseFormat = WebMessageFormat.Json)]
    public List<OrderDetails> GetOrderDetailsByGUID(Guid OrderID)
    {
        var listit =(from OV in EC.OrderProductVariants
                join O in EC.Orders on OV.OrderId equals O.Id
                join PV in EC.ProductVariants on OV.ProductVariantId equals PV.Id
                join P in EC.Products on PV.ProductId equals P.Id
                join CT in EC.Customers on O.CustomerId equals CT.Id
                join AD in EC.Addresses on CT.BillingAddress_Id equals AD.Id
                where O.OrderGuid == OrderID
                select new OrderDetails
                {
                    OrderID = O.OrderGuid,
                    Company = AD.Company,
                    ShippingMethod = O.ShippingMethod,
                    Product = P.Name,
                    QuantityOnOrder = OV.Quantity
                }
                    ).ToList();

        return listit;
    }

それはNULLを返します。誰かが私が間違っていることを教えてもらえますか?

4

1 に答える 1

2

このようなシナリオで機能する可能性のあるすべてのソリューションは、ビューを作成し、それにアクセスするための 1 行のコードを実行することです。

var q = EC.OrderProductVariants.SingleOrDefault(u => u.OrderGuid.Equals(guid));
于 2013-08-01T12:33:50.857 に答える