0

我正在写一个简单的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 中选择很多列。

4

1 回答 1

0

如果您真的担心性能,那么只需使用普通SQL...它几乎总是比Linq(以我个人的经验)快。此外,您可以尝试使用它Linq来执行您的SQL

IEnumerable<YourDataType> result = DataContext.ExecuteQuery<YourDataType>(SqlString);

DataContext.ExecuteQuery<TResult> Method (String, Object\[\])您可以从MSDN的页面了解更多信息。请注意,此页面涉及此方法的不同重载,但其中包含示例。

于 2013-09-09T11:14:05.663 回答