我有我認爲是一個非常簡單的數據模型,並且我正在與EF 4.1 CF一起苦苦掙扎。EF 4.1一對多關係
我的數據模型有兩類:
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();
}
我的錯誤消息:
操作失敗:關係 不能被改變,因爲一個或 多個外鍵的屬性是 非空的。當更改爲 的關係時,相關的 外鍵屬性設置爲空值 值。如果外鍵沒有 支持空值,則必須定義新的 關係,必須將 外鍵屬性指定爲 另一個非空值,或必須刪除不相關對象 。任何 的想法或建議將是 非常感謝。
您可以擴展您的代碼示例以包含'repo'和'ou'的定義嗎? – therealmitchconnors