Доступные версии документации

Провайдер Entity Framework

Чтобы использовать провайдер СУБД ЛИНТЕР для Entity Framework, надо добавить следующую информацию в конфигурационный файл 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>
      

После этого надо добавить ссылку на сборку EntityFramework.Linter.dll. Для этого в окне Solution Explorer:

  1. щёлкнуть правой кнопкой мыши по узлу References;

  2. в контекстном меню выбрать Add Reference…;

  3. в окне Reference Manager выбрать Assemblies=>Extensions;

  4. установить флажок напротив сборки EntityFramework.Linter;

  5. нажать кнопку OK.

Теперь можно использовать стандартные методы Entity Framework для разработки приложения. Например, следующая программа сохраняет в БД время запуска и выводит на экран список всех запусков. Данный пример можно использовать для создания журнала посещений, где каждый запуск приложения соответствует визиту одного человека:

// C#
using System;
using System.Data.Entity;

namespace CodeFirstDemo
{
  class Program
  {
    static void Main(string[] args)
    {
      using (var context = new VisitContext())
      {
        // Подключение к БД и создание таблицы, если она не существует
        context.Database.CreateIfNotExists();

        // Добавление новой записи и сохранение изменений
        context.Visits.Add(
          new Visit { Name = "Пользователь A", Date = DateTime.Now });
        context.SaveChanges();

        // Чтение записей из БД
        Console.WriteLine("Список визитов:");
        foreach (var visit in context.Visits)
        {
          Console.WriteLine(visit.Id + " | " + visit.Name + " | " + visit.Date);
        }

        Console.WriteLine("Для продолжения нажмите любую клавишу...");
        Console.ReadKey();
      }
    }
  }

  public class VisitContext : DbContext
  {
    public VisitContext()
      : base(
   "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER;Persist Security
 Info=true")
    {
    }
    public VisitContext(string connectionString)
      : base(connectionString)
    {
    }
    public DbSet<Visit> Visits { get; set; }
  }

  public class Visit
  {
    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime Date { get; set; }
  }
}

Для сборки примера нужен пакет EntityFramework, который можно установить через менеджер пакетов NuGet:

  1. в меню Visual Studio выбрать File(Файл)=>Save all(Сохранить все) и сохранить решение;

  2. в окне Solution Explorer щёлкнуть правой кнопкой мыши по узлу Solution (Решение) и в контекстном меню выбрать Manage NuGet Packages for Solution…(Управление пакетами NuGet для Решения…);

  3. перейти на вкладку Browse(Обзор);

  4. выбрать пакет EntityFramework;

  5. установить флажок напротив имени проекта;

  6. нажать кнопку Install(Установить).

При первом запуске приложения в БД будет создана схема "dbo" и таблица "dbo"."Visits".

Примечание

Чтобы увидеть таблицу из схемы "dbo" в Рабочем столе СУБД ЛИНТЕР надо щёлкнуть правой кнопкой мыши по узлу "Таблицы" и снять флажок "Только мои объекты".

Таблицу также можно создать на этапе разработки приложения с помощью автоматических миграций Code First Migrations. Для этого в меню Visual Studio выбрать Tools(Сервис)=>NuGet Package Manager(Диспетчер пакетов NuGet)=>Package Manager Console(Консоль диспетчера пакетов) и в появившемся окне после приглашения PM> ввести команды:

PM> Enable-Migrations -EnableAutomaticMigrations PM> Update-Database

Примечание

Если контекст унаследован от класса ObjectContext, то методы CreateDatabase() и DeleteDatabase() выполняют создание и удаление таблиц БД соответственно.

Если контекст унаследован от класса DbContext, то удаление таблиц методом DeleteDatabase() не поддерживается в текущей версии.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter