У меня есть очень простая модель данных, и я плохо борюсь с EF 4.1 CF.
Моя модель данных имеет два класса:
public class Site {
public int id { get; set; }
public string name { get; set; }
public ICollection<Building> buildings { get; set; }
}
public class Building {
public int id { get; set; }
public int siteId { get; set; }
public string name { get; set; }
}
Мои файлы конфигурации выглядят так:
public class SiteConfiguration : EntityTypeConfiguration<Site> {
public SiteConfiguration() {
HasMany(c => c.buildings)
.WithRequired()
.HasForeignKey(c => c.siteId);
}
}
В моем контроллере для MVC я просто хочу удалить здание с сайта. Вот мой код контроллера:
public ActionResult Delete(int id, int siteId) {
var site = repo.GetById(siteId);
var building = site.buildings.SingleOrDefault(c => c.id == id);
ou.buildings.Remove(site);
repo.Save();
}
Мое сообщение об ошибке:
Операция не удалась: связь
не может быть изменено, потому что один или
больше свойств внешнего ключа
ненулевой. Когда изменение сделано в
отношения, связанные
свойство внешнего ключа установлено в нуль
значение. Если внешний ключ не
поддержка нулевых значений, новый
отношения должны быть определены,
свойство внешнего ключа должно быть назначено
другое ненулевое значение или
несвязанный объект должен быть удален. любой
мысли или предложения будут
с благодарностью.