0
SQL 2008クエリでは、私はただ実行し、成功すると1を返します。今、MVC 5 EF dbcontextでこれをどうやって行うのですか?DbContextでMVC 5でストアドプロシージャを使用するには?
usp_CreateNewAccount usernamehere, passwordhere, emailhere
Entity Frameworkを使用してコントローラアイテムを作成し、コントローラのCreateメソッドを編集しました。
db.Users.Add(user);
db.Users.SqlQuery("usp_CreateNewAccount fsdfsdf, sdfsdfsd, dasda");
db.SaveChanges();
この結果は得られません。私はユーザーを作成することはできません。可能な解決策はありますか?そして、あなたはこのようなパラメータでDbContext.Database.SqlQuery
を使用することができます
CREATE PROCEDURE usp_CreateNewAccount
@usernamehere NVARCHAR(...),
@passwordhere NVARCHAR(...),
@emailhere NVARCHAR(...)
AS
BEGIN
-- insert query here
END
:
エンティティフレームワークでの私の経験は、自動生成コードにはプロシージャが必ずしも機能しないということです。あなたのコードでは、ストアドプロシージャを呼び出すときにパラメータが表示されません。ユーザーからSQlQueryを呼び出すこともベスト・アイデアではなく、むしろdb.Database.SqlQueryを使用します。あなたの手続きに含まれるものも重要です。主な問題を表す可能性があるため、ここに含める必要があります。 – JadaVonRuth
次に、なぜユーザーをUsersコレクションに追加するのか、ストアドプロシージャを呼び出す直後です。その時点では、ユーザーはまだデータベースに存在できません。そのため、プロシージャはそのレコードでは機能しません。 – JadaVonRuth
@JadaVonRuth dbcontextを使用するのが苦労しています。なぜなら、MVC 5の新機能、VS 2015はエラーを表示せず、空白のページしか表示しませんでした。 – ronscript