我有問題,實體框架我有兩個代碼一流的國家和城市實體框架刪除前執行更新,我想停止這種
[Table("dbo.Countries")]
public class Country
{
public int CountryId { get; set; }
public string CountryNameAr { get; set; }
public virtual ICollection<City> Cities { get; set; }
}
[Table("dbo.Cities")]
public class City
{
public int CityId { get; set; }
public int CountryId { get; set; }
public string CityNameAr { get; set; }
public virtual Country Country { get; set; }
}
每個國家有很多城市,,,我已經添加了一些國家和城市。 我的問題是:當我刪除任何國家時,它會將城市中的countryId更新爲null。 我已經寫在的DbContext:
ModelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
ModelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
,當我跟蹤它在SQL服務器...實體框架作出更新語句在城市則表中的國家表中刪除聲明...
exec sp_executesql N'UPDATE [dbo].[Cities]
SET [CountryId] = NULL
WHERE ([CityId] = @0)
exec sp_executesql N'DELETE dbo.Countries
WHERE (CountryId = @0)',N'@0 int',@0=6
我想要停止這..我想實體框架拒絕刪除,如果他們是任何與任何表fk_相關 任何人知道如何解決這個問題?
不要根據實體框架FK依賴你的完整的邏輯,你要刪除的任何值之前檢查的依賴。 – GauravKP
我將如何檢查PLZ,因爲我先使用代碼? 我如何使我的完整邏輯基於實體框架FK依賴 – Ayman