5
我有兩個表Employee
(n)和Store
(1),它們具有n:1的關係。實體框架刪除語句與參考約束衝突
Employee
有外鍵idStore
這是Store
的主鍵。
這裏是我嘗試從Employee
刪除行:
public void deleteEmployee(int idEmployee)
{
MyEntities pe = new MyEntities();
try
{
var firstQuery = from e in pe.Employees
where e.idEmployee == idEmployee
select e;
string findIdStore = firstQuery.First().StoreReference.EntityKey.EntityKeyValues[0].Value.ToString();
int idStore = Int32.Parse(findIdStore);
Store r = pe.Stores.First(c => c.idStore == idStore);
r.Employees.Remove(firstQuery.First());
pe.DeleteObject(firstQuery.First());
pe.SaveChanges();
}
catch (Exception ex)
{
return;
}
}
而且,我仍然得到錯誤delete語句衝突與基準約束。
完整的錯誤是在這裏:
DELETE語句衝突與基準約束 「FK_Bill_Employee」。衝突發生在數據庫 「myDatabase」,表「dbo.Bill」,列'idEmployeeMember'。
該聲明已被終止。
不,我不能。它說同樣的錯誤。 – 2011-12-26 16:37:04
沒有。這是一個簡單的表,其主鍵不爲空。但是,如果我試圖刪除idStore = 1的員工,那麼如果在Store表中只有一行idStore = 1,那麼應該刪除它。我認爲這就是發生這種錯誤的原因。 – 2011-12-26 16:40:07
{「DELETE語句與參考約束\」FK_Bill_Employee \「發生衝突。數據庫\」myDatabase \「,表\」dbo.Bill \「,列'idEmployeeMember'中發生衝突 。\ r \ n聲明已終止。「} – 2011-12-26 17:12:02