0
我有一個表tblB中的對象列表,它以下面的格式從db中檢索。left non equi join linq
public class playdata
{
public string consumerid { get; set; }
public string play_time { get; set; }
public string genre{ get; set; }
.
.
.
public int mycounter{ get; set; }
}
我有一個表TBLA具有其具有從0到1000
我希望創建類似於SQL如下LINQ查詢INT列可樂..
Select x.i as numindex, y.consumerid,y.play_time,y.genre
From
(Select colA as i from tblA) x
left join
(
Select consumerid, play_time,genre,mycounter from tblB
)y on y.mycounter > x.i
我試過以下失敗..
我來找到Enumerable.Range(0,1001)生成一個數字序列,所以不需要得到臨時噸表數據..
List<playdata> plays = .....
var q= (from s in Enumerable.Range(0, 1001)
join p in plays on s < p.mycounter into t
from rt in t.DefaultIfEmpty() select new{
numindex=s,
consumerid=p.consumerid,
play_time =p.play_time,
genre=p.genre
}).ToList();
我看到在第二行的兩個錯誤..
p不是在等號的左邊的範圍。我有也tried..p.mycounter> s的相同結果。
其他錯誤是在爲它顯示..預計上下文關鍵字等於
的錯誤消失,如果我改變第二行..
join p in plays on s equals p.mycounter into t
所有幫助表示衷心感謝。
感謝
哇..沒有任何加入和指令..也可以顯示在哪裏我可以閱讀更多的p?.genre處理空的風格,null – Arnab
它是C#6 [null條件運算符](https ://msdn.microsoft.com/en-us/library/dn986595.aspx)。 –
aha ..那是vs2015,如果是vs2103 ..這個'p == null? String.Empty:p.genre)'應該工作?如果參數是int或long,我將不得不改變String.Empty爲null,這將需要我的類'playdata'來改變以及如int成爲int ?,如果長的話會發生什麼 – Arnab