Asp.Net Mvc 从数据库中删除列 table
Asp.Net Mvc delete columns from database table
我正在尝试删除用户名 = 当前用户名的所有 table 数据。但是 lambda 表达式和转换有一些错误。“无法将源类型转换为目标类型。有帮助吗?
public JsonResult DeleteChatMessages(int id)
{
string toId = Session["SessionUserName"].ToString();
tblChat tblchats = _obj.tblChat.Where(p => p.ToId == toId);
_obj.tblChat.Remove(tblchats);
_obj.SaveChanges();
return this.Json(true, JsonRequestBehavior.AllowGet);
}
我假设您只希望从 Where
过滤器中得到一个 return 对象。
将您的行更改为,因为根据 this 。 Where
子句 return 是一个 IEnumerable<TSource>
。并且您正在将其分配给非 IEnumerable 对象。
tblChat tblchats = _obj.tblChat.FirstOrDefault(p => p.ToId == toId)
您可能还想检查 Null
,然后再将其从 tblChat
.
中删除
如果您希望有多个对象与过滤器匹配并希望删除所有对象,请使用@tmg 方法。
_obj.tblChat.RemoveRange(_obj.tblChat.Where(p => p.ToId == toId).ToList());
过滤你想要的"chats"。
var tblchats = _obj.tblChat.Where(p => p.ToId == toId).ToList();
遍历它们并删除后。
foeach(chat in tblchats){
_obj.tblChat.Remove(chat);
}
_obj.SaveChanges();
我正在尝试删除用户名 = 当前用户名的所有 table 数据。但是 lambda 表达式和转换有一些错误。“无法将源类型转换为目标类型。有帮助吗?
public JsonResult DeleteChatMessages(int id)
{
string toId = Session["SessionUserName"].ToString();
tblChat tblchats = _obj.tblChat.Where(p => p.ToId == toId);
_obj.tblChat.Remove(tblchats);
_obj.SaveChanges();
return this.Json(true, JsonRequestBehavior.AllowGet);
}
我假设您只希望从 Where
过滤器中得到一个 return 对象。
将您的行更改为,因为根据 this 。 Where
子句 return 是一个 IEnumerable<TSource>
。并且您正在将其分配给非 IEnumerable 对象。
tblChat tblchats = _obj.tblChat.FirstOrDefault(p => p.ToId == toId)
您可能还想检查 Null
,然后再将其从 tblChat
.
如果您希望有多个对象与过滤器匹配并希望删除所有对象,请使用@tmg 方法。
_obj.tblChat.RemoveRange(_obj.tblChat.Where(p => p.ToId == toId).ToList());
过滤你想要的"chats"。
var tblchats = _obj.tblChat.Where(p => p.ToId == toId).ToList();
遍历它们并删除后。
foeach(chat in tblchats){
_obj.tblChat.Remove(chat);
}
_obj.SaveChanges();