【问题标题】:How to merge two EF query?如何合并两个 EF 查询?
【发布时间】:2012-12-05 18:14:45
【问题描述】:

我必须查询,我需要将两者合并为一个结果,我已经尝试过使用 Union 和 Concat,但没有成功:

     Dim PayPalPurchases = (From p In ctx.PayPalAPI Where p.Users.Email = userEmail Select
                           KeyPay = p.pay_key,
                           PurchaseDate = p.payment_request_date,
                           Result = p.status,
                           item_sku = p.memo,
                           price = p.transaction_amount).ToList

        Dim licenze = (From lic In ctx.Licenses Where lic.Users.Email = userEmail
                           Select KeyPay = lic.Note,
                           PurchaseDate = lic.Date,
                           Result = "Free",
                           item_sku = lic.Sku,
                           price = 0)

【问题讨论】:

    标签: .net vb.net entity-framework


    【解决方案1】:

    创建一个类,每个查询将结果存储到:

    Public Class ResultData
    
      Public KeyPay As String
      Public PurchaseDate As String
      Public Result As String
      Public item_sku As String
      Public price As String
    
    End Class
    

    然后创建一个包含两个结果的列表

    Dim PayPalPurchases = (From p In ctx.PayPalAPI
                           Where p.Users.Email = userEmail
                           Select New ResultData With
                            {
                              .KeyPay = p.pay_key,
                              .PurchaseDate = p.payment_request_date,
                              .Result = p.status,
                              .item_sku = p.memo,
                              .price = p.transaction_amount
                            }).ToList
    
    Dim licenze = (From lic In ctx.Licenses
                   Where lic.Users.Email = userEmail
                   Select New ResultData With
                    {
                      .KeyPay = lic.Note,
                      .PurchaseDate = lic.Date,
                      .Result = "Free",
                      .item_sku = lic.Sku,
                      .price = 0
                    }).toList
    
    Dim combinedList As List(Of ResultData)
    
    combinedList.AddRange(PayPalPurchases)
    combinedList.AddRange(licenze)
    

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多