от
Представьте себе такой сценарий: человек владеет множеством автомобилей. В настоящее время у меня есть:   Пользователь (1) - (N) Автомобили Теперь я хочу изменить свои таблицы так, чтобы у них были собственные гаражи, а не машины, а в гаражах - подмножество автомобилей, то есть добавили простое дополнительное косвенное указание:   Пользователь (1) - (N) Гаражи (1) - (N) Автомобили Фактические данные могут быть отброшены, это нормально. Просто есть другие части этой базы данных, которые содержат данные, которые должны храниться. Эта часть полностью изолирована и может быть стерта. Пример составлен, потому что я не уверен, что могу сказать, но это действительно так просто. Я понятия не имею о миграциях и с этим тяжело борюсь. Большое спасибо за любую помощь, я ценю это! Изменить: что у меня есть:
public class OwnerEntity
{
  [Key]
  public Guid Id { get; set; }

  [Required]
  public string Name { get; set;}
  public List OwnedCars { get; set; }
  // Rather would have:
  // public List OwnedGarages { get; set; }
}

public class CarEntity
{
  [Key]
  public Guid Id { get; set; }

  [Required]
  public OwnerEntity Owner { get; set; }
  public Guid OwnerId { get; set; }
  // Would not be directly owned anymore but would have a garage as an owner

  [Required]
  public string ModelDescr { get; set; }
}
// In the db context
public DbSet Owners { get; set; }
public DbSet Cars { get; set; }

protected override void OnModelCreating(ModelBuilder model)
{
  // This would simply duplicate. Once for Car <

Основная проблема, с которой я сталкиваюсь, когда пытаюсь что-то здесь изменить, заключается в следующем: база данных по-прежнему хранит старые таблицы и схему. Не опуская его, появляются монетные фрагменты (как и ожидалось).
Есть также несколько сущностей, прикрепленных к Car (если использовать мой пример), которые я хочу сохранить (их схема). Я пытался закомментировать DBSets, чтобы EF сам отбрасывал таблицы, а затем вносил изменения и заставлял их выполнять фактическую миграцию, но на самом деле это не работает, слишком много работы и просто глупо ...
Надеюсь, это поможет больше!
    

        

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...