【问题标题】:LINQ join and Split to SqlLINQ 连接和拆分到 Sql
【发布时间】:2015-11-03 04:50:07
【问题描述】:

我需要像这样加入两个表

tableA.code.Split('-').FirstOrDefault() equals tableB.SiteCode

这是我的查询。

var quer = from i in tableB
           join s in tableA on i.Code.Split('-').FirstOrDefault() equals s.Code                       
           select new { i, s };

但这不起作用...

我该怎么做?

【问题讨论】:

    标签: c# sql asp.net-mvc linq


    【解决方案1】:
    var query = from i in tableB
                from s in tableA 
                where i.Code.StartsWith(s.Code)
                select new { i, s };
    

    【讨论】:

      【解决方案2】:

      我会尝试:

      var query = TableA.Join(TableB, 
                         a => a.Code.Split('-').FirstOrDefault(),
                         b => b.SiteCode, 
                         (a, b) => new { a = a, b = b });
      

      【讨论】:

      • Split 不会被翻译成sql
      【解决方案3】:

      试试这个代码,它会帮助你。但请确保第一个值不能为空。

      var quer = from i in tableB
             join s in tableA on i.Code.Split('-')[0] equals s.Code                       
             select new { i, s };
      

      【讨论】:

        猜你喜欢
        • 2011-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        相关资源
        最近更新 更多