Или вы можете поместить эту строку в свой файл Global.asax.cs в разделе Application_Start ():
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<ProjectName.Path.Context>());
Обязательно измените имя_проекта.Path.Context на свое пространство имен и контекст. Если сначала использовать код, это приведет к удалению и созданию новой базы данных всякий раз, когда будут внесены какие-либо изменения в схему.
Я сделал это ранее, не с asp.net MVC, а с чистыми веб-формами asp.net. Я использовал MVP собственной разработки (Образцовый Предъявитель Представления) шаблон, и абсолютная самая важная вещь позволить Предъявителю (== Контроллер в Вашем случае) использоваться в приложении WinForms не состояла в том, чтобы сослаться ни на что, чтобы сделать с system.web
Таким образом, первая вещь, которую необходимо сделать, представляют интерфейс (интерфейсы) для обертывания любого запроса, ответа, сеть и т.д. наполняют и сделали, чтобы каждый Предъявитель принял эти интерфейсы через Внедрение зависимости (или сделайте их доступными для Предъявителей некоторой другой техникой), затем если Предъявитель использует их, а не фактический материал system.web.
Пример:
Предположите, что Вы хотите передать управление от Страницы A до Страницы B (который в Вашем приложении winforms Вы могли бы хотеть закрыть, формируют затем открытую форму B).
Интерфейс:
public interface IRuntimeContext
{
void TransferTo(string destination);
}
веб-реализация:
public class AspNetRuntimeContext
{
public void TransferTo(string destination)
{
Response.Redirect(destination);
}
}
реализация winforms:
public class WinformsRuntimeContext
{
public void TransferTo(string destination)
{
var r = GetFormByName(destination);
r.Show();
}
}
Теперь Предъявитель (Контроллер в Вашем случае):
public class SomePresenter
{
private readonly runtimeContext;
public SomePresenter(IRuntimeContext runtimeContext)
{
this.runtimeContext = runtimeContext;
}
public void SomeAction()
{
// do some work
// then transfer control to another page/form
runtimeContext.TransferTo("somewhereElse");
}
}
Я не посмотрел на реализацию MVC asp.net подробно, но я надеюсь, что это дает Вам некоторый признак, что это, вероятно, будет большая работа для включения сценария, который Вы после.
Можно вместо этого хотеть рассмотреть принятие, что необходимо будет повторно кодировать Представление и Контроллер для различных платформ, и вместо этого сконцентрироваться на хранении чрезвычайно тонких контроллеров и помещение объема кода на уровне служб, который может быть совместно использован.
Удачи!
Взгляните на стартовый комплект Northwind (не откладывайте на бит Northwind), который имеет различные графические интерфейсы, прикрепленные к многоуровневой архитектуре, включая как MVC, так и Winforms.
Он делает именно то, что вы хотите достичь.