Поиск…


Подключение к существующей базе данных

Для достижения простейшей задачи в Entity Framework - для подключения к существующей базе данных ExampleDatabase на вашем локальном экземпляре MSSQL вам нужно реализовать только два класса.

Сначала это класс сущности, который будет сопоставлен с нашей таблицей базы данных dbo.People .

    class Person
    {
        public int PersonId { get; set; }
        public string FirstName { get; set; }
    }

Класс будет использовать соглашения Entity Framework и отобразить таблицу dbo.People которая, как ожидается, будет иметь первичный ключ PersonId и PersonId varchar (max) FirstName .

Во-вторых, это класс контекста, который происходит из System.Data.Entity.DbContext и который будет управлять объектами сущности во время выполнения, укомплектовывать их из базы данных, обрабатывать параллелизм и сохранять их обратно в базу данных.

    class Context : DbContext
    {
        public Context(string connectionString) : base(connectionString)
        {
            Database.SetInitializer<Context>(null);
        }

        public DbSet<Person> People { get; set; }
    }

Имейте в виду, что в конструкторе нашего контекста нам нужно установить инициализатор базы данных на нуль - мы не хотим, чтобы Entity Framework создавал базу данных, мы просто хотим получить к ней доступ.

Теперь вы можете манипулировать данными из этой таблицы, например, изменить FirstName первого лица в базе данных из консольного приложения следующим образом:

    class Program
    {
        static void Main(string[] args)
        {
            using (var ctx = new Context("DbConnectionString"))
            {
                var firstPerson = ctx.People.FirstOrDefault();
                if (firstPerson != null) {
                    firstPerson.FirstName = "John";
                    ctx.SaveChanges();
                }
            }
        }
    }

В приведенном выше коде мы создали экземпляр Context с аргументом «DbConnectionString». Это должно быть указано в нашем файле app.config следующим образом:

  <connectionStrings>
    <add  name="DbConnectionString" 
    connectionString="Data Source=.;Initial Catalog=ExampleDatabase;Integrated Security=True" 
    providerName="System.Data.SqlClient"/>
  </connectionStrings>


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow