employ
という名前の単一のキー列を持つ名前の Entity Framework に SQL Server テーブルがありますID
。
Entity Framework を使用してテーブルから単一のレコードを削除するにはどうすればよいですか?
employ
という名前の単一のキー列を持つ名前の Entity Framework に SQL Server テーブルがありますID
。
Entity Framework を使用してテーブルから単一のレコードを削除するにはどうすればよいですか?
最初にオブジェクトを照会する必要はありません。ID によってコンテキストにアタッチできます。このような:
var employer = new Employ { Id = 1 };
ctx.Employ.Attach(employer);
ctx.Employ.Remove(employer);
ctx.SaveChanges();
または、添付されたエントリの状態を削除済みに設定できます。
var employer = new Employ { Id = 1 };
ctx.Entry(employer).State = EntityState.Deleted;
ctx.SaveChanges();
を使用SingleOrDefault
して、基準に一致する単一のオブジェクトを取得し、それをRemove
EF テーブルのメソッドに渡すことができます。
var itemToRemove = Context.Employ.SingleOrDefault(x => x.id == 1); //returns a single item.
if (itemToRemove != null) {
Context.Employ.Remove(itemToRemove);
Context.SaveChanges();
}
var stud = (from s1 in entities.Students
where s1.ID== student.ID
select s1).SingleOrDefault();
//Delete it from memory
entities.DeleteObject(stud);
//Save to database
entities.SaveChanges();
Employer employer = context.Employers.First(x => x.EmployerId == 1);
context.Customers.DeleteObject(employer);
context.SaveChanges();
[HttpPost]
public JsonResult DeleteCotnact(int id)
{
using (MycasedbEntities dbde = new MycasedbEntities())
{
Contact rowcontact = (from c in dbde.Contact
where c.Id == id
select c).FirstOrDefault();
dbde.Contact.Remove(rowcontact);
dbde.SaveChanges();
return Json(id);
}
}
シンプルかどうかにかかわらず、これについてどう思いますか。これを試すこともできます。
var productrow = cnn.Product.Find(id);
cnn.Product.Remove(productrow);
cnn.SaveChanges();
EntityFramework.Plusを使用するオプションがあります。
dbContext.Employ.Where(e => e.Id == 1).Delete();
その他の例はこちらから入手できます