我正在编写一个简单的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
我的问题:我不想在SubQuery中选择多个列。
答案 0 :(得分:0)
如果您真的担心性能,那么只需使用普通SQL
...它总是比Linq
快(根据我的个人经验)。此外,您可以尝试使用此Linq
来执行SQL
:
IEnumerable<YourDataType> result = DataContext.ExecuteQuery<YourDataType>(SqlString);
您可以在MSDN的DataContext.ExecuteQuery<TResult> Method (String, Object\[\])
页面上找到更多信息。请注意,此页面与此方法的不同重载有关,但它包含示例。