Sql server 具有存储过程和变量列的Linq到SQL?

Sql server 具有存储过程和变量列的Linq到SQL?,sql-server,sql-server-2008,linq-to-sql,stored-procedures,Sql Server,Sql Server 2008,Linq To Sql,Stored Procedures,我有一个存储过程,它至少返回4列,然后返回n列(这是透视的结果) 我无法创建一个快速类型来声明要与Linqtosql一起使用的结果集形状,因为我实际上不知道该形状将是什么 因为Linqtosql是我的DAL,如果可能的话,我想继续使用它——我不想回到非类型化的数据集,是吗 如何让LinqToSql返回具有可变属性/列数的存储过程结果 谢谢。LINQ to SQL需要将数据库对象映射到具体类型。总之,你不能这么做 有一些变通办法。我希望最好的结果是将n列映射到每个数据对象内的集合 如果您可以将数据

我有一个存储过程,它至少返回4列,然后返回n列(这是透视的结果)

我无法创建一个快速类型来声明要与Linqtosql一起使用的结果集形状,因为我实际上不知道该形状将是什么

因为Linqtosql是我的DAL,如果可能的话,我想继续使用它——我不想回到非类型化的数据集,是吗

如何让LinqToSql返回具有可变属性/列数的存储过程结果


谢谢。

LINQ to SQL需要将数据库对象映射到具体类型。总之,你不能这么做

有一些变通办法。我希望最好的结果是将n列映射到每个数据对象内的集合

如果您可以将数据库模式更改为使用父子视图模式,而不是单个动态存储过程,那么LINQ到SQL将能够映射此模式。例如,在“父”视图中有前4列,而现有进程中的每个后续列都将成为“子”视图中的一行,需要引用父视图

另一种选择——更简单但更脏——是以CSV格式(或其他分隔符)返回包含当前n列的单个列。然后将这个值解析为一个集合。丑陋但简单