none
Проблема при создании модели сущностей в VS 2012 RRS feed

  • Общие обсуждения

  • В Visual Studio 2012 разбираю пример из книги "Язык программирования C# 2010 и платформа. NET 4.0"  стр.873 - делаю все как там написано - при запуске выдает 

    Ошибка 1 Частичные объявления "EntityConsole.DocEntities" не должны определять различные базовые классы C:\C#2012 example\EntityConsole\EntityConsole\Model1.Context.cs 16 26 EntityConsole

    Ошибка 2 Тип "EntityConsole.DocEntities" уже определяет член с именем "DocEntities" с теми же типами параметров C:\C#2012 example\EntityConsole\EntityConsole\ModelVid.Designer.cs 34 16 EntityConsole

    Я после того как полдня высматривал что я не так вводил по книге - взял и просто сделал все по умолчанию и только файл edmx, и в нём указа Стратегия создания кода = по умлчанию. Открываю файл ****.Designer.cs вижу что указаны классы сущностей и запускаю на выполнение - опять те же ошибки  - НО Я НИЧЕГО СВОЕГО НЕ ВСТАВЛЯЛ В КОД, все по умолчанию. Что это? Новый вариант работы c Entity Framework 5? Или я поторопился установить последнюю версию EF?

    Вчера делал пример с выводом результатов запроса через связывание в DataGridView - то же ругалось. Хотя скачал пример 100-DataAcces уровень за 10 минут с помощью LINQ и ADO.NET Entity Framework.wmv и пытался повторить один к одному.

    После многоразовых попыток - просто перешел на VS2010 - всё заработало, проблем нет - кроме того что не работает с VS 2012



    • Изменен тип X.Sergey 21 сентября 2012 г. 12:27 Решил самостоятельно
    • Изменено X.Sergey 21 сентября 2012 г. 12:29
    19 сентября 2012 г. 20:09

Все ответы

  • Аналогично, кто-нибудь решил эту проблему ? 
    18 января 2013 г. 12:00
  • Дело в том, что в новой версии студии функционал наследуется от класса DbContext, а в старой от ObjectContext. Код переписанный для старой версии в новой работать не будет, ошибки нет. Просто оставьте модель EDMX в новой студии, такой как она создаётся, не надо менять базовый класс.
    18 января 2013 г. 12:24
    Модератор
  • Yatajga не могли бы ли вы дать более расширенный ответ, по всей видимости вы знаете в чём дело. Я только начинаю заниматься программированием и сразу такая проблема в VS2010 говорят такой нет, но уже стоит 2012VS

    Попробую изложить проблему ещё раз:

    После создания модели в vs 12 Express для Web (на основе БД) например Model1 в файле Model1.Designer.cs не отображается код созданных объектов. Коментарии в пустом (на первый взгляд) файле Model1.Designer.cs для отображения чего-либо рекомендуют:
    // Чтобы включить создание кода по умолчанию, замените значение свойства "Стратегия создания кода"
    // конструктора на другое. Это свойство доступно в окне "Свойства", когда модель
    // открыта в конструкторе.

    Заменяю Стратегия создания Кода со значения Нет на значение По умолчанию.

    После этого куча ошибок, например: 

    Ошибка 3 Класс "SoapDataDase.itemListDBEntities5" уже содержит определение для "Categories" c:\users\павел\documents\visual studio 2012\Projects\SoapDataDase\SoapDataDase\Model1.Designer.cs 77 36 SoapDataDase

    Никаких изменений не делал.

    Подскажите как решить, откуда ошибки?

    24 марта 2013 г. 14:49
  • Нашел ответ здесь:

    http://stackoverflow.com/questions/14865038/errors-appear-after-changing-code-generation-from-none-to-default-in-entity-fram

    После включения генерации кода и ребилда проекта нужно удалить из модели все файлы .tt (их 2) и сделать еще раз ребилд проекта.


    • Изменено audiopress 31 января 2014 г. 9:36
    31 января 2014 г. 9:30