EF Database First:
У меня есть модель
public class Book {
public Guid BookId { get;set; }
public string BookName { get;set; }
public string CategoryCode { get;set; }
public Category Category { get;set; }
}
public class Category {
public Guid CategoryId { get;set; }
public string CategoryName { get;set; }
public string CategoryCode { get;set; }
}
Затем, в моем контексте у меня есть
modelBuilder.Entity<Book>()
.HasKey(c => c.BookId);
modelBuilder.Entity<Book>()
.Property(c => c.CategoryCode )
.HasColumnName("Category");
modelBuilder.Entity<Book>()
.HasOne(c => c.Category)
.WithMany()
.HasForeignKey(c => c.CategoryCode )
.HasPrincipalKey(bu => bu.CategoryCode );
Когда я пытаюсь обновить CategoryName, ошибка:
Свойство «CategoryName» типа объекта «Категория» является частью ключа и поэтому не может быть изменено или помечено как измененное.Чтобы изменить принципала существующей сущности с идентифицирующим внешним ключом, сначала удалите зависимого и вызовите «SaveChanges», а затем свяжите зависимого с новым принципалом.
Поэтому я пытаюсь включить Каскад обновления, но вижу только Вкл.удалить каскад.Так как я могу его обновить?
1013 * На самом деле я просто пытаюсь отнести 'CategoryCode' в Книге к 'CategoryCode' в Category и могу обновить это так, как должно быть?