Сценарий разработки Model First

В сценарии Model First вначале создаётся EDMX-модель, а потом на основе этой модели создаются таблицы в БД. Для создания EDMX-модели используется графический редактор Visual Studio.

Пример сценария разработки Model First на основе Visual Studio 2015:

  1. создать новый или открыть существующий проект Visual Studio;

  2. открыть файл App.config, ввести приведенный ниже текст и сохранить файл:

    < ?xml version="1.0" encoding="utf-8"? >
    < configuration >
      < configSections >
        < section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
        EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" / >
      < /configSections >
      < entityFramework >
        < providers >
          < provider invariantName="System.Data.LinterClient" type="System.Data.LinterClient.Entity.LinterProviderServices,
          EntityFramework.Linter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=04c2ab4f9b7aa4d0" / >
        < /providers >
        < defaultConnectionFactory type="System.Data.Entity.Infrastructure.LinterConnectionFactory, EntityFramework.Linter,
        Version=1.0.0.0, Culture=neutral, PublicKeyToken=04c2ab4f9b7aa4d0" / >
      < /entityFramework >
    < /configuration >
    
  3. в окне Solution Explorer щёлкнуть правой кнопкой мыши по узлу References и в контекстном меню выбрать Add Reference… (рис. 32).

    Контекстное меню References
    Рисунок 32. Контекстное меню References

  4. в окне Reference Manager выбрать Assemblies= >Extensions, установить флажок напротив сборки EntityFramework.Linter и нажать кнопку OK (рис. 33).

    Окно Reference Manager
    Рисунок 33. Окно Reference Manager

  5. в окне Solution Explorer щелкнуть правой кнопкой мыши по узлу Solution и в контекстном меню выбрать Manage NuGet Packages for Solution… (рис. 34).

    Контекстное меню Solution
    Рисунок 34. Контекстное меню Solution

  6. в окне Manage Packages for Solution нажать кнопку Browse, выбрать пакет EntityFramework, установить флажок напротив имени проекта и нажать кнопку Install (рис. 35).

    Примечание

    Если кнопка Install не активна, это значит, что пакет EntityFramwork уже установлен.

    Окно Manage Packages for Solution
    Рисунок 35. Окно Manage Packages for Solution

  7. если появится окно Preview, нажать кнопку OK (рис. 36).

    Окно Preview
    Рисунок 36. Окно Preview

  8. в окне License Acceptance нажать кнопку I Accept (рис. 37).

    Окно License Acceptance
    Рисунок 37. Окно License Acceptance

  9. в меню Visual Studio выбрать Build= >Build Solution (рис. 38).

    Меню Build
    Рисунок 38. Меню Build

  10. в окне Solution Explorer щелкнуть правой кнопкой мыши по названию проекта и в контекстном меню выбрать: Add= >New Item… (рис. 39).

    Контекстное меню проекта
    Рисунок 39. Контекстное меню проекта

  11. в окне Add New Item выбрать Installed= >Visual C# Items= >Data= >ADO.NET Entity Data Model и нажать кнопку Add (рис. 40).

    Окно Add New Item
    Рисунок 40. Окно Add New Item

  12. в окне Choose Model Contents выбрать Empty EF Designer model и нажать кнопку Finish (рис. 41).

    Окно Choose Model Contents
    Рисунок 41. Окно Choose Model Contents

  13. в свободной области дизайнера EDMX-модели щелкнуть правой кнопкой мыши и в контекстном меню выбрать Add New= >Entity… (рис. 42).

    Контекстное меню дизайнера EDMX-модели
    Рисунок 42. Контекстное меню дизайнера EDMX-модели

  14. в окне Add Entity нажать кнопку OK (рис. 43).

    Окно Add Entity
    Рисунок 43. Окно Add Entity

  15. щелкнуть правой кнопкой мыши по сущности Entity1 и в контекстном меню выбрать Add New= >Scalar Property (рис. 44).

    Контекстное меню сущности
    Рисунок 44. Контекстное меню сущности

  16. ввести имя нового свойства и нажать клавишу < Enter > (рис. 45).

    Имя нового свойства
    Рисунок 45. Имя нового свойства

  17. повторить шаги 12 - 15 для создания новых сущностей.

  18. щелкнуть правой кнопкой мыши по свободной области дизайнера и в контекстном меню выбрать Add New= >Association… (рис. 46).

    Контекстное меню дизайнера EDMX-модели
    Рисунок 46. Контекстное меню дизайнера EDMX-модели

  19. в окне Add Association нажать кнопку OK (рис. 47).

    Окно Add Association
    Рисунок 47. Окно Add Association

  20. щелкнуть правой кнопкой мыши по свободной области дизайнера EDMX-модели и в окне Properties в списке DDL Generation Template выбрать SSDLToLinter.tt (рис. 48).

    Шаблон создания команд DDL
    Рисунок 48. Шаблон создания команд DDL

  21. щелкнуть правой кнопкой мыши по свободной области дизайнера EDMX-модели и в контекстном меню выбрать Generate Database from Model… (рис. 49).

    Контекстное меню дизайнера EDMX-модели
    Рисунок 49. Контекстное меню дизайнера EDMX-модели

  22. в окне Choose Your Data Connection нажать кнопку New Connection… (рис. 50).

    Окно Choose Your Data Connection
    Рисунок 50. Окно Choose Your Data Connection

  23. если появится окно Connection Properties, в котором источник данных не принадлежит СУБД ЛИНТЕР, нажать кнопку Change… (рис. 51).

    Окно Connection Properties
    Рисунок 51. Окно Connection Properties

  24. в окне Change Data Source выбрать источник данных Linter Database и нажать кнопку OK (рис. 52).

    Окно Change Data Source
    Рисунок 52. Окно Change Data Source

  25. в окне Connection Properties ввести параметры подключения к ЛИНТЕР-серверу и нажать кнопку OK (рис. 53).

    Окно Connection Properties
    Рисунок 53. Окно Connection Properties

  26. в окне Choose Your Data Connection нажать кнопку Next > (рис. 54).

    Окно Choose Your Data Connection
    Рисунок 54. Окно Choose Your Data Connection

  27. в окне Summary and Settings нажать кнопку Finish (рис. 55).

    Окно Summary and Settings
    Рисунок 55. Окно Summary and Settings

  28. для выполнения файла Model1.edmx.sql надо использовать программу Linter Desktop (рис. 56), описание работы которой приведено в документе «СУБД ЛИНТЕР. Рабочий стол СУБД ЛИНТЕР».

    Файл Model1.edmx.sql в программе Linter Desktop
    Рисунок 56. Файл Model1.edmx.sql в программе Linter Desktop