oki*_*ieh 1 c# sql linq linq-to-sql
我想创建一个LINQ查询,导致以下SQL语句.假设我有一个只有两个字符字段的简单表 - field1和field2.我的SQL语句是:
SELECT field1, field2, field1+field2 AS ConcatField
FROM TableX
WHERE field1+field2 = 'abcdef'
Run Code Online (Sandbox Code Playgroud)
如何在LINQ中完成?
您可以使用let
子句来定义concatfield,然后选择一个包含要返回的3个字段的匿名类型.
from f in TableX
let concatfield = f.Field1 + f.Field2
where concatfield = 'abcdef'
select new
{
f.Field1,
f.Field2,
concatfield
}
Run Code Online (Sandbox Code Playgroud)
关于更复杂的where子句的示例,您需要构建要比较的值的数组,然后执行以下操作:
List<string> values = .....
from f in TableX
let concatfield = f.Field1 + f.Field2
where values.Contains(concatfield)
select new
{
f.Field1,
f.Field2,
concatfield
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
851 次 |
最近记录: |