sql 转Linq 求救
select id,namefrom table
order by case when id like 'shanghai%' then 0 when id like 'beijing%' then 1 else 2 end
这条sql 能转化成Linq吗 SQL LINQ --------------------编程问答-------------------- select id,name
from table
order by case when id like 'shanghai%' then 0 when id like 'beijing%' then 1 else 2 end
试试如下
var query = db.table.OrderBy(t => new
{
t.id.Contains("shanghai")?0: t.id.Contains("beijing")?1:2
}).Select(x=>new {x.id,x.name});
--------------------编程问答--------------------
差不多就是这样,稍微修改下,不是Contains而是StartsWith --------------------编程问答-------------------- 提示 这个问题 无效的匿名类型成员声明符 --------------------编程问答--------------------
--------------------编程问答--------------------
var query = db.table.OrderBy(t => new
{
t.id.Contains("shanghai")?0: t.id.Contains("beijing")?1:2
}).Select(x=>new {ID=x.id,Name=x.name});
项目选择 .netframework4.0或以上版本 --------------------编程问答-------------------- var result1 = from item in study.Customer
orderby item.ContactName.Contains("j") ? 0 : item.Country.Contains("t") ? 1 : 2 descending
// orderby item.CustomerID descending
select new { item.CustomerID, item.Country, item.ContactName };
var result = study.Customer.OrderByDescending(n =>n.ContactName.Contains("j")?1:n.ContactName.Contains("T")?2:3).Select(n => new { n.CustomerID, n.Country, n.ContactName });
foreach(var singel in result1)
{
Console.WriteLine(singel);
}
问题和你差不多,用linq和lambda两种方法 --------------------编程问答--------------------
var query=from t in table--------------------编程问答--------------------
orderby t.id.StartWith("shanghai")?0:t.id.StartWith("beijing")?1:2
select new {t.id,t.name};
这个用的是StartWith 前面几个用的是 Contains
补充:.NET技术 , LINQ