Пытаюсь работать с EntityFramework.
Установил EntityFramework и Pomello для работы в MySQL. Мне удалось подключиться к БД, Я создал ShopContext
namespace AutoShop.DB
{
class ShopContext : DbContext
{
public DbSet<Car> Cars { get; set; }
public DbSet<Mark> Marks { get; set; }
public ShopContext()
{
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySQL("server=localhost;database=autodb;user=root;password=******");
}
}
}
public DbSet<Car> Cars { get; set; }
- Эта часть отрабатывает хорошо, у меня создается таблица, с которой я могу работать автоматом, на основе моей модели
Вот моя модель:
namespace AutoShop.MVVM.Model
{
class Car : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName] string prop = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(prop));
}
private int _ID;
public int ID
{
get
{
return _ID;
}
set
{
_ID = value;
OnPropertyChanged();
}
}
private string _Model;
public string Model
{
get
{
return _Model;
}
set
{
_Model = value;
OnPropertyChanged();
}
}
private string _Mark;
public string Mark
{
get
{
return _Mark;
}
set
{
_Mark = value;
OnPropertyChanged();
}
}
private float _Volume;
public float Volume
{
get
{
return _Volume;
}
set
{
_Volume = value;
OnPropertyChanged();
}
}
private int _DateOfIssue;
public int DateOfIssue
{
get
{
return _DateOfIssue;
}
set
{
_DateOfIssue = value;
OnPropertyChanged();
}
}
private string _EngineType;
public string EngineType
{
get
{
return _EngineType;
}
set
{
_EngineType = value;
OnPropertyChanged();
}
}
private string _ImageUrl;
public string ImageUrl
{
get
{
return _ImageUrl;
}
set
{
_ImageUrl = value;
OnPropertyChanged();
}
}
private int _Price;
public int Price
{
get
{
return _Price;
}
set
{
_Price = value;
OnPropertyChanged();
}
}
public Car()
{
}
}
}
Далее у меня есть еще одна модель:
namespace AutoShop.MVVM.Model
{
class Mark : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName] string prop = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(prop));
}
private int _ID;
public int ID
{
get
{
return _ID;
}
set
{
_ID = value;
OnPropertyChanged();
}
}
private string _MarkName;
public string MarkName
{
get
{
return _MarkName;
}
set
{
_MarkName = value;
OnPropertyChanged();
}
}
public Mark()
{
}
}
}
Вот с этой моделью уже проблемы, хотя делаю все аналогично первой.
Пишет, что таблица marks не создана. Вопрос в том, почему EntityFramework создал одну таблицу автоматически, а вторую - нет.
В чем может быть проблема?