简体   繁体   English

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

[英]Linq to SQL Case WHEN in VB.NET?

How do I do a Case WHEN in Linq to SQL (vb.net please). 我如何在Linq to SQL中做一个案例(请访问vb.net)。

In SQL it would be like this: 在SQL中它将是这样的:

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

How would I do this in Linq to SQL? 我如何在Linq to SQL中执行此操作?

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"))

};

Check This Out 看一下这个

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

 CaseResult = (

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

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

 "Unknown Case")

 };

Please Note that [ ? 请注意[? Symbol = then] , [ : Symbol = Or]. 符号=然后],[:符号=或]。

I haven't tried this but you may be able to do something like: 我没有试过这个,但你可以做类似的事情:

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"))

You would just need to keep nesting the If functions to handle all of your cases. 您只需要保持嵌套If函数来处理所有情况。

You can find more examples of various queries at http://msdn.microsoft.com/en-us/library/bb386913.aspx 您可以在http://msdn.microsoft.com/en-us/library/bb386913.aspx找到更多各种查询的示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM