2017-09-07 6 views
0

を削除するためにそれを使用後、EFクエリからIDを取得し、このすべてが...私はドットのデータベースからユーザーを削除したいEFを使用してレコード

DbContext.ExecuteStoreCommand("DELETE FROM activeforums_Attachments where UserId = " + userId); 
DbContext.ExecuteStoreCommand("DELETE FROM activeforums_Forums_Tracking where UserId = " + userId); 
DbContext.ExecuteStoreCommand("DELETE FROM activeforums_Poll where UserId = " + userId); 
DbContext.ExecuteStoreCommand("DELETE FROM activeforums_Poll_Results where UserId = " + userId); 

のようなコードを使用して正常に動作します私が使用して手動で削除することができますaspNetUserId:

string aspNetUserId = "'21F72BCA-A51P-47DF-B57A-C31A191C61D2'"; 
    DbContext.ExecuteStoreCommand("DELETE FROM aspnet_Membership where UserId = " + aspNetUserId); 
    DbContext.ExecuteStoreCommand("DELETE FROM aspnet_UsersInRoles where UserId = " + aspNetUserId); 
    DbContext.ExecuteStoreCommand("DELETE FROM aspnet_Users where UserId = " + aspNetUserId); 

とこの作品は...今私がする必要があるすべては、私は

using (DEntities DbContext = DAOHelper.GetObjectContext<DEntities>()) 
{ 
var userIdToRemove = DbContext.ExecuteStoreCommand("Select FROM aspnet_Membership where UserName = " + userName); 
DbContext.ExecuteStoreCommand("DELETE FROM aspnet_Membership where UserId = " + userIdToRemove.UserId); 
DbContext.ExecuteStoreCommand("DELETE FROM aspnet_UsersInRoles where UserId = " + userIdToRemove.UserId); 
DbContext.ExecuteStoreCommand("DELETE FROM aspnet_Users where UserId = " + userIdToRemove.UserId); 
のような何かをしようとしている...のuserNameから個々のaspNetUserIdを取得しています

これは可能でしょうか?あなたの選択クエリが間違っているように任意の回答に感謝

+0

var userIdToRemove = DbContext.ExecuteStoreQuery<string>("Select UserId FROM aspnet_Membership where UserName = " + userName); 

その後のコースの使用userIdToRemoveをすでにかなりを持っているのに、なぜあなたはSQL文を使用しています美しいエンティティフレームワークライブラリ? –

+0

私は別のユーザーによって作成された既存のコードに取り組んでいますが、これはバグを修正するときに会った問題です...エディタを撃てないでください:P – John

答えて

1

... EFを使用するときにVARを設定していない場合は他の誰これを解決する方法上の任意のアイデアを持っていることになります。

Select FROM aspnet_Membership where UserName = userName 

であるべき
Select UserId FROM aspnet_Membership where UserName = userName 

あなたはUserIdだけが必要なので、

プラスあなたは、このように、データベースを照会するためのExecuteStoreQueryを使用する必要があります。代わりにuserIdToRemove.UserId

関連する問題