9

Entity Framework 5 でテーブル値関数を使用しています。次のエラーを受け取りました。

'EffectiveDate' という名前のパラメーターは、パラメーター コレクションに既に存在します。パラメータ名は、パラメータ コレクション内で一意である必要があります。パラメータ名: パラメータ

同じパラメーターを使用するテーブル値関数の呼び出しに参加したことが原因です。

これは EF のバグ/制限ですか? 回避策はありますか? 現在、コード (.edmx ファイル) を自動生成しています。

4

2 に答える 2

1

バグではありません。多分制限か省略。どうやら、このユースケースは考慮されていません。EFは自動作成されたパラメーター名を使用できますが、そうではありません。

で関数の 1 つを呼び出す必要があります.AsEnumerable()。何らかの理由で、これは結合の最初の関数でなければなりません (私が経験したように)。2 番目の関数を呼び出すと、.AsEnumerable()引き続き SQL に変換され、名前の衝突が引き続き発生します。

于 2013-10-07T21:17:36.190 に答える