【发布时间】:2017-09-07 04:42:48
【问题描述】:
使用 EF 我想从 Dot 数据库中删除一个用户...这一切都适用于像
这样的代码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);
这有效...所以现在我需要做的就是从用户名中获取每个单独的 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);
这样的事情可能吗?在使用 EF 时设置一个 var,如果没有其他人对如何解决这个问题有任何想法......感谢任何回复
【问题讨论】:
-
既然已经有了漂亮的实体框架库,为什么还要使用 SQL 语句?
-
我正在处理由另一个用户创建的现有代码,这是我在修复错误时遇到的问题...不要射击编辑器:P
标签: c# mysql sql entity-framework