繁体   English   中英

Asp.Net Mvc从数据库表中删除列

[英]Asp.Net Mvc delete columns from database 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过滤器仅返回一个对象。 更改行,因为按照 Where子句返回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());

过滤所需的“聊天”。

 var tblchats = _obj.tblChat.Where(p => p.ToId == toId).ToList();

遍历它们并移除之后。

    foeach(chat in tblchats){
        _obj.tblChat.Remove(chat);
    }
    _obj.SaveChanges();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM