テーブルから選択を返すストアドプロシージャがあります。テーブルは動的に選択されます。プロシージャは次のようになります。動的SQLストアドプロシージャからLinq to SQL
ALTER Procedure [dbo].[GetRecordsInViewPort]
@DatabaseName VarChar(100),
@TableName VarChar(100),
AS
Declare @SQL VarChar(1000)
SELECT @SQL = 'SELECT * FROM '
SELECT @SQL = @SQL + + @DatabaseName + '.dbo.' + @TableName
EXEC(@SQL)
実行時にSQLで正常に動作します。 Linq-to-SQLからこの手順を使用するにはどうすればよいですか?私はそれを実行しようとすると、私はちょうど0を取得します。 Linq-SQLデザイナのストアドプロシージャの戻り値の型のプロパティは(None)
に設定されており、変更することはできません。
ストアドプロシージャの結果をオンザフライでマッピングしてからList<<r>dynamic>
に戻すことはできますか?
一言で言えば、私は、ストアドプロシージャの結果を動的リストとして受け入れることを考えています。そのプロパティは、リフレクションによって実行時にアクセスできます。何か案は?
また、Linq-To-Entitiesでこれを行う方が簡単な場合は、私は何でも公開しています。
ストアドプロシージャは、返される結果の種類を選択しています。コンパイル時に一連のCustomersが返されることはわかりません。それは犬かもしれない、飛行機かもしれないので、私はこれが動作するとは思わない。私はあなたがsoapboxから来ている場所を取得し、私はそれを助けることができる場合は通常、動的LinqまたはSQLを使用することはありませんが、この場合の詳細はそれを必要とするようです。 ORMを使用しているかどうかを気にする必要はありません.Net Listにデータを読み込む方法が必要です。 –