Linq to SQL Case何时在VB.NET中?

时间:2009-01-24 19:32:45

标签: sql linq linq-to-sql tsql

如何在Linq to SQL中使用案例(请使用vb.net)。

在SQL中它会是这样的:

SELECT 
CASE
  WHEN condition THEN trueresult
  [...n]
[ELSE elseresult]
END

我如何在Linq to SQL中执行此操作?

3 个答案:

答案 0 :(得分:11)

var data = from d in db.tb select new {

CaseResult = If (d.Col1 = “Case1”, "Case 1 Rised", If (d.Col1 = “Case2”, "Case 2 Rised", "Unknown Case"))

};

答案 1 :(得分:4)

检查此

var data = from d in db.tb select new {

 CaseResult = (

 d.Col1 == “Case1” ? "Case 1 Rised" :

 d.Col1 == “Case2” ? "Case 2 Rised" :

 "Unknown Case")

 };

请注意[?符号=然后,[:符号=或]。

答案 2 :(得分:3)

我没有尝试过这个,但你可能会做类似的事情:

Dim query = From tbl In db.Table _
            Select result =_
                If(tbl.Col1 < tbl.Col2,"Less than",_
                    If(tbl.Col1 = tbl.Col2,"Equal to","Greater than"))

您只需要嵌套If函数来处理所有情况。

您可以在http://msdn.microsoft.com/en-us/library/bb386913.aspx

找到更多各种查询的示例