我有以下内容:
class City {
int id;
string Name;
ICollection<Person> Persons;
}
class Person {
int id;
string Name;
}
什么是正确的删除城市及其相关联系人的方法?可能我想避免外键约束并手动处理。 我已经尝试过:
public bool Delete(int id // City Id)
{
City city = _db.Cities
.Include(c => c.Persons)
.First(c => c.Id == id);
if(city != null)
{
foreach (Person person in city.Persons)
{
_db.Persons.Remove(person);
}
_db.Cities.Remove(city);
_db.SaveChanges();
return true;
}
return false;
}
但是没有任何个人或城市被从数据库中移除。
First()
,城市不能为空。当城市不存在时,它会抛出异常。您能回答上面的问题吗? - Gert Arnold