我使用实体框架5创建了一个MVC应用程序。我需要使用查询从表中删除数据。我已经完成了一个记录删除,但现在我需要一次删除多个记录。
My Table USER:
Id Name cityId
1 Rajesh 1
2 Rahul 1
3 Sulagna 1
4 Rajoshri 2
5 Deb 2
现在我需要删除cityid = 1
的位置我尝试过的代码:
List<USER> listUser = new List<USER>();
listUser = db.USERs.Where(w => w.cityId == 1).ToList();
db.Entry(listUser).State = System.Data.EntityState.Deleted;
db.SaveChanges();
但它的错误。
我搜索过并找到了删除多条记录的RemoveRange方法。但是我的项目中没有RemoveRange。
答案 0 :(得分:1)
对于EF5,您需要安装EF扩展库:EntityFramework.Extended 成功安装后,请尝试以下代码。
var query = from c in db.USERs
where c.cityId == 1
select c;
query.Delete();
答案 1 :(得分:0)
试试这个:
foreach (var user in db.USERs.Where(u => u.cityId == 1).ToList()) {
db.USERs.Remove(user):
}
db.SaveChanges();
使用EF6更容易:
db.USERs.RemoveRange(db.USERs.Where(u => u.cityId == 1));
db.SaveChanges();
如果有帮助,请告诉我,
阿尔贝托
答案 2 :(得分:-1)
这有助于remove
使用Entity Framework
db.USERs.RemoveRange(db.USERs.Where(w => w.cityId == 1));
代码: var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://xxxx.desk.com/api/v2/cases");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Accept = "text/xml";
httpWebRequest.Method = "GET";
httpWebRequest.Credentials = new NetworkCredential("username", "password");
httpWebRequest.Headers.Add("Authorization", "Basic reallylongstring");
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
string text;
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string fddf = streamReader.ReadToEnd();
}