Как мне остановить Entity Framework от генерации ОБА ObjectContext и dbContext

ФонVisual Studio 2012НОВЫЙ файл Model.EDMX, созданный в VS2012Скопировал часть EDMX xml из ранее созданного EDMX в новыйПроблема / Вопрос

В настоящее время. EDMX (преобразование TT, пользовательский инструмент, что угодно и т. Д.) Генерирует ОБА классы DbContext (в файлах Model.tt/Model.Context.tt)а также Классы ObjectContext (через файл Model.designer.cs). Смотрите изображение ниже:

Все прекрасно работает и работает с DbContext (но, очевидно, только если я удаляю файл Designer.cs непосредственно перед сборкой), но Designer.cs - и его код на основе ObjectContext - продолжает появляться снова. Как мне остановить это поведение ?!

 Jay Stevens26 окт. 2012 г., 03:31
Но я хочу сгенерировать код ... Код DbContext через файлы Model.tt и Model.Context.tt; Я просто не хочу, чтобы ObjectContext старой школы из Model.Desiger.cs
 Pawel25 окт. 2012 г., 23:41
Вы пытались щелкнуть по поверхности дизайнера и изменить стратегию генерации кода на None?

Ответы на вопрос(4)

Решение Вопроса

как остановить файл Designer.cs от создания ObjectContext, но я выяснил, как сделать так, чтобы это не имело значения. Просто установите действие сборки «Нет» вместо «Компилировать».

ие «None», а ObjectContext не создается.

В вашем случае кажется, что для вашей стратегии генерации кода установлено значение «По умолчанию».

Чтобы прекратить генерацию ObjectContext вxxxx.Designer.csперейдите к файлу edmx и измените стратегию генерации кода с «По умолчанию» на «Нет».

Если вы проверяетеxxxx.Designer.cs

// Default code generation is disabled for model 'C:\Users\xyxy\xyxyxy.Web\Models\xyxy.edmx'. 
// To enable default code generation, change the value of the 'Code Generation Strategy' designer
// property to an alternate value. This property is available in the Properties Window when the model is
// open in the designer.

EntityModelCodeGenerator значение вCustom Tool поле.edmx свойства файла. Просто удалите это значение.

Я думаю, что это так, потому что я заметил, что в проекте, который я начал как проект EF6, нет никакой ценности, и он не имеет.designer.cs файл, но в двух, которые я обновил с EF4, они оба имеют значение и файл конструктора.

(Это соответствует<Generator> тег в базовом.csproj файл.)

.tt файлы будут генерировать код независимо от стратегии генерации кода в.edmx, Они слушают.edmx изменения файла По крайней мере, так они работают на меня.

Таким образом, превратив стратегию генерации кода вNone в.edmx Вы делаете.designer.cs файл пуст от любого полезного контента.

Затем откройте файл проекта, найдите узлы, представляющие.edmxпо умолчанию он содержится вEntityDeploy то есть значение Build Action, и удалите егоGenerator подключ.

Ваш ответ на вопрос