外部キーを「Null」に設定しようとしています.SQL Management Studioを使用すると正常に動作しますが、C#を使用しようとすると例外が発生します:
例外:
値を null にすることはできません。パラメーター名: エンティティ。
コード:
var entity = _db.AlleBenutzer.FirstOrDefault(p => p.Id == id);
if (entity != null)
{
var abteilungObjekt = _db.AlleAbteilungen.FirstOrDefault(p => p.Abteilungsname == abteilung);
var etageObjekt = _db.AlleEtagen.Include(p => p.Abteilung).FirstOrDefault(p => p.Etagenname == etage);
entity.Abteilung = abteilungObjekt;
entity.Etage = etageObjekt;
_db.Entry(entity.Abteilung).State = EntityState.Modified;
_db.Entry(entity.Etage).State = EntityState.Modified;
_db.Entry(entity).State = EntityState.Modified;
_db.SaveChanges();
}
私の両方のモデルはそのように見えます:(いくつかの部分を切り取ります)
public class Benutzer
{
public int Id { get; set; }
public Abteilung Abteilung { get; set; }
public Etage Etage { get; set; }
}
public class Abteilung
{
public int Id { get; set; }
public string Abteilungsname { get; set; }
}
誰でも私を助けることができますか?外部キーを null 可能にできるようにモデルを変更するにはどうすればよいですか? 前もって感謝します :)