Öncelikle iyi çalışmalar. Ben arayüzden verileri alıyorum ve controller'a gönderiyorum. Gerekli kontrolleri yaptıktan sonra; veri tabanına kaydedilmesi gerekiyor ama tüm veriler güncellenmiyor. Ekleme işlemi yaparken böyle bir sorun ile karşılaşmadım ama güncelleme işleminde oluyor.
public Makale Update(Makale makale, List<int> kategoriIdleri)
{
using (var context = new EfContext())
{
List<Kategori> kategoriler = new List<Kategori>();
foreach (int kategoriId in kategoriIdleri)
{
var kategori = context.Kategoriler.FirstOrDefault(x => x.Id == kategoriId);
if (kategori != null) kategoriler.Add(kategori);
}
makale.Kategoriler = kategoriler;
var updatedEntity = context.Entry(makale);
updatedEntity.State = EntityState.Modified;
context.SaveChanges();
return makale;
}
}Yukarıdaki kod bloğuna breakpoint koyduğumda tüm veriler başarıyla gelmekte ama veritabanına kaydederken bazı sütunlarda güncelleme olurken bazılarında olmuyor. Çoka çok ilişkili tabloların ise hiçbiri güncellenmiyor. Sorun nerede olabilir?