2015-11-03 42 views
0

我需要連接兩個表這樣LINQ加入和分割到SQL

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 }; 

但是這是不工作...

我怎樣才能做到這一點?

回答

2
var query = from i in tableB 
      from s in tableA 
      where i.Code.StartsWith(s.Code) 
      select new { i, s }; 
+0

@ user1348351你試過我的回答嗎? – Backs

0

我會嘗試:

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

'Split'不會被翻譯成sql – Backs

0

試試這個代碼,它會幫助你。但要確保第一個值不能爲空。

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