-3
我正在嘗試學習C#並遇到了一個問題,我希望你們知道一個簡單的解決方案。在IF語句中運行查詢
我想運行兩個可能的LINQ查詢,但是從不同的地方讀取並且基於IF條件返回2個不同的字段(兩個id)。
在VB6它會一直喜歡簡單的東西:
Dim strQuery as string
Dim rs as adodb.recordset
If 1 = 1 then
strQuery = "Select messageid as id1, refid as id1 from x where ..."
else
strQuery = "Select commonid as id1, nextid as id2 from x where ..."
endif
set rs = cn.execute(strquery)
debug.print rs!id1 & rs!id2
如何在C#做什麼?
我試過了: IQueryable fD = null;
if (1 == 1)
{
fD = from qa in data.table1
select qa;
}
else
{
fD = from qa in data.table2
select qa;
}
foreach (var a in FD)
{
// Unable to see any data.
}
這與LINQ無關。除此之外,這應該在C#中或多或少相同,除了沒有'End If'和'Dim',而只是一些括號來定義範圍。那麼你的問題到底是什麼? – HimBromBeere
LINQ在執行查詢函數後返回'IQueryable'集合,所以'IQueryable strQuery'然後使用'strQuery = x.Where(...)。Select(x => new {id1 = x.commonid,id2 = x.nextid} );'應該考慮那麼。 –
你在C#中嘗試過什麼?你可能試圖使用LINQ to SQL? –