我有一条SQL语句:
select
table1.DIRECTORATE_ID,
table2.PLA_NAME + '//' + table1.ENGLISH_DIRECTORATE_CODE as EngCode
from table1
inner join table2 on table1.PLA_ID = table2.PLA_ID order by EngCode
我需要在提供List<>
的EF代码中执行相同类型的查询。如下所示:
var query = (from t1 table1.DIRECTORATE_ID, table2.PLA_NAME + '//' + table1.ENGLISH_DIRECTORATE_CODE as EngCode
from table1
inner join table2 on table1.PLA_ID = table2.PLA_ID order by EngCode)
.ToList();
发布于 2018-06-08 03:05:25
您的from
子句中有列引用。在SQL中,顺序为(在此特定示例中)
的
在LINQ中,顺序是
您可以在查询语法中编写此代码
var query = from t1 in table1
join t2 in table2 on t1.PLA_ID equals t2.PLA_ID
let EngCode = t2.PLA_NAME + "//" + t1.ENGLISH_DIRECTORATE_CODE
orderby EngCode
select new
{
t1.DIRECTORATE_ID,
EngCode
}
var data = query.ToList();
或者使用扩展方法
var data = table1
.Join(
table2,
t1 => t1.PLA_ID,
t2 => t2.PLA_ID,
(t1, t2) => new
{
t1.DIRECTORATE_ID,
EngCode = t2.PLA_NAME + "//" + t1.ENGLISH_DIRECTORATE_CODE
})
.OrderBy(x => x.EngCode)
.ToList();
https://stackoverflow.com/questions/50748264
复制相似问题