2016-03-31 12 views
0

В EF учебники описал работу с Model-Первый подход следующим образом:EF Model First: как программно генерировать/удалять базу данных?

  1. создать модель
  2. генерировать базы данных SQL из модели
  3. запуск сгенерированного SQL с помощью студии

Но как это может быть доставлено клиентам? База данных должна быть создана на стороне клиента автоматически при запуске программы, и ее необходимо удалить, когда клиент выбирает какое-либо действие в меню. Как выше поведение может быть реализовано через EF?

+0

Вы могли бы посмотреть при автоматическом первом переходе кода. Это должно соответствовать вашим потребностям: https://msdn.microsoft.com/en-us/data/jj554735.aspx – schlonzo

+0

Имеет ли значение для модели первое, что у вас есть файл EDMX? –

ответ

1

Ваш подход Model-First должен был создать производный класс DbContext, что-то вроде class MyModelContainer : DbContext.

В фазе запуска вашего приложения, сделать что-то вроде этого:

using(var ctx = new MyModelContainer()) 
{ 
    ctx.Database.CreateIfNotExists(); 
} 

подобным образом, когда вы хотите, чтобы удалить его (сначала закройте все соединения):

using(var ctx = new MyModelContainer()) 
{ 
    ctx.Database.Delete(); 
}