1
List<GetAllDataResult> list = myContext.GetAllData(id).ToList();

したがって、Entity Framework を使用したスト​​アド プロシージャへの上記の呼び出しを検討してください。私がそれを呼び出すと、5行が返されることを期待しています(これを列挙します)が、呼び出しは1行のみを返します-最初の行のように見えます.

これは、EF デザイナー コードのメソッドです。 public ObjectResult GetAllData(Nullable id)();

リストを返さないのはなぜですか。

Sql Server Management Studio で SP を手動で実行すると、正しいリストが表示されます。何か案は?

更新: 実行中のストアド プロシージャは次のとおりです。

Select id, Name, age from Person where lid = @id

SQL プロファイラーでは、次のように呼び出しを確認できます。

exec [dbo].[GetAllData] @id=2
4

1 に答える 1

0

EF デザイナーでマッピングを確認できますか?

データベースからエンティティを自動的に生成した場合、実際には@IDパラメーターを の ID フィールドにマッピングしていると思いますPerson

これにより、EF が SQL を生成するときに、次のように生成される可能性があることを意味します。

     Select id, Name, age from Person where id = @id

これをさらにチェックして、返された行IDが 2 ではなく 2 であるかどうかを確認できます。lid

于 2012-11-14T16:48:15.037 に答える