Entity Framework - создание базы данных (Нет связи с БД)

255
01 апреля 2018, 17:23

Есть вот такие классы:

Модель:

public class User {
    [Key]
    [Required]
    public int Id { get; set; }
    [Required]
    public string Name { get; set; }
    [Required]
    public int Age { get; set; }
}

Инициализация базы данных:

public class Initialize : DropCreateDatabaseIfModelChanges<CreateDB> {
    protected override void Seed(CreateDB context) {
        var user = new List<User> {
            new User { Id = 1, Name = "Тест1", Age = 10 },
            new User { Id = 2, Name = "Тест2", Age = 11 },
            new User { Id = 3, Name = "Тест3", Age = 12 },
            new User { Id = 4, Name = "Тест4", Age = 13 },
            new User { Id = 5, Name = "Тест5", Age = 14 },
        };
        user.ForEach(u => context.user.Add(u));
        context.SaveChanges();
    }
}

Создание базы данных:

public class CreateDB : DbContext {
    public CreateDB() : base("DefaultConnection") { }
    public virtual DbSet<User> user { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder) {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}

И основной Main класс:

static void Main(string[] args) {
    Database.SetInitializer<CreateDB>(new Initialize());
    Console.WriteLine("End");
    Console.ReadKey();
}

В App config прописал:

<connectionStrings>
   <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=User;Integrated Security=True"
    providerName="System.Data.SqlClient"/>
</connectionStrings>

База подключина в Server Explorer. Но у меня ничего не работает. Я уже голову сломал что я сделал не так. Уже перепробовал многое но у меня не создается БД и не заливаются данные. Помогите кто силен. Исключений нет. Работа программы отробатывается. Но проверял ставил точки останова. Она не заходит даже внутрь инициализации БД не пойму почему. P.S Заранее спасибо.

Answer 1

Так стартует подключение:

Database.SetInitializer(new Initialize());
CreateDB db = new CreateDB();
db.Database.Initialize(true);
READ ALSO
Управление checkBox в приложении через файл?

Управление checkBox в приложении через файл?

Например, файл синхронизируется через сервисы Dropbox, YandexDisk, и прочие

261
Переход перелистыванием страниц в WPF

Переход перелистыванием страниц в WPF

ЗдравствуйтеТакая задача - имеется главное окно содержащее Frame

313
Как прорваться через 401 Unauthorized ошибку?

Как прорваться через 401 Unauthorized ошибку?

Пытаюсь скачать кусок трансляции по адресу Live

309
Подключение dash replacement service amazon к xamarin forms

Подключение dash replacement service amazon к xamarin forms

Можно ли dash replacement service подключить к проекту xamarin forms ?

234