C# 如何使linq生成连接sql server上的列值的sql语句

C# 如何使linq生成连接sql server上的列值的sql语句,c#,linq,sql-server-2008,C#,Linq,Sql Server 2008,我知道有一种方法可以像前面解释的那样使用sql语句连接列的值。比如说 SELECT SUBSTRING( (SELECT ', '+ Name AS 'data()' from Names for xml path('')) ,3, 255) as "MyList" 是否有可能使linq to sql在数据库中生成连接,作为不在内存中的子查询或使用许多其他查询?可能重复a:有更简单的连接方法-adeclare@s varchar(max)=“select@s=@s

我知道有一种方法可以像前面解释的那样使用sql语句连接列的值。比如说

SELECT SUBSTRING(
        (SELECT ', '+ Name AS 'data()' from Names for xml path(''))
       ,3, 255) as "MyList"

是否有可能使linq to sql在数据库中生成连接,作为不在内存中的子查询或使用许多其他查询?

可能重复a:有更简单的连接方法-a
declare@s varchar(max)=“select@s=@s+”,“+Name from Names select@s
更简单,还有b:db.ExecuteQuery是否算作选项?Thansks@MitchWheat用于注释,但您的两个建议都在内存中进行了串联。我想改为在SQL Server上执行,因为这是一个非常繁重的查询的一部分,如果我使用Join(),它会执行许多单独的查询。@MarcGravel我问过如何使LINQ to SQL生成查询。我知道这是一种更简单的方法,但是如果我用T-SQL编写查询