Используя .NET Core 2.1, Entity Framework Core и NPGSQL.
Я создаю новую запись:
await _context.music.AddAsync(song);
await _context.SaveChangesAsync();
Затем, внутри функции , аналогичной , ясделайте несколько вычислений (что я не могу сделать во время создания) и затем вызовите Update (обновив только поле «Комментарии»):
_context.music.Update(song);
await _context.SaveChangesAsync();
Вот класс «Song»:
public class Song
{
[Key]
public int SongId { get; set; }
public int Title{ get; set; }
public string Comments{ get; set; }
//Navigation Properties
public virtual ICollection<Foo> Foos { get; set; }
}
В моем MusicContext:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ForNpgsqlUseIdentityColumns();
modelBuilder.Entity<Foo>()
.HasOne(m => m.Song)
.WithMany(r => r.Foos)
.HasForeignKey(m => m.SongId);
}
Это исключение, которое я получаю:
System.AggregateException: произошла одна или несколько ошибок.(Произошла одна или несколько ошибок. (Экземпляр типа сущности 'Song' не может быть отслежен, поскольку другой экземпляр с тем же значением ключа для {'SongId'} уже отслеживается. При присоединении существующих сущностей убедитесь, что только один экземпляр сущности сзаданное значение ключа присоединено. Чтобы увидеть конфликтующие значения ключа, используйте «DbContextOptionsBuilder.EnableSensitiveDataLogging».)) ---> System.AggregateException: произошла одна или несколько ошибок.
У всех есть идеи?: - /