在 LINQ 中仅选择定义的列
本文关键字:定义 选择 LINQ | 更新日期: 2023-09-27 18:30:43
我正在编写一个简单的LINQ
查询。表结构定义如下:
表 A
Id int,
VName varchar2(20),
VAddress varchar2(200)
表 B
Id int,
NName varchar2(20),
NAddress varchar2(200)
LINQ
查询
from c in A
join x in B on c.Id equals x.Id
order by A.Id
select New{
c.Id,
x.NName
}
然后 SQL 生成为
select Filter1.Id,Filter1.NName from(
Select Extend1.Id,Extend1.VName,Extend1.VAddress,
Extend2.Id as Id1,Extend2.NName,Extend2.NAddress
from A as Extend1 Inner Join B as Extend2 on Extend1.Id=Extend2.ID)
as Filter1
我的问题:我不希望在子查询中选择很多列。
如果您真的担心性能,那么只需使用普通SQL
...它总是比Linq
快(根据我的个人经验)。此外,您可以尝试使用此Linq
来执行SQL
:
IEnumerable<YourDataType> result = DataContext.ExecuteQuery<YourDataType>(SqlString);
您可以从 MSDN 的DataContext.ExecuteQuery<TResult> Method (String, Object'['])
页面找到更多信息。请注意,此页面与此方法的不同重载有关,但其中包含示例。