我对Entity Framework相对较新,但到目前为止,我在Stackoverflow上找到了所有答案的问题,除了我将在下面解释的内容。
假设我有一个由实体框架生成的类Person
,如下所示:
public partial class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
现在我想通过使用以下代码删除一个人:
using(databaseEntities db = new databaseEntities())
{
Person person = db.Person.First(p => p.Id = 1);
person.Remove();
}
因此我创建了一个带有remove方法的分部类。
public partial class Person
{
public void Remove()
{
using(databaseEntities db = new databaseEntities())
{
Person person = db.Person.First(p => p.Id == this.Id);
db.Person.Remove(person);
db.SaveChanges();
}
}
}
但是,现在我正在从数据库中删除此人,但它正在不同的上下文中删除。
我如何重写Person.Remove()
方法,以便将其从同一个databaseContext
中删除?