Блог
  • Начало
  • Обо мне
  • Обратная связь

Быстрое создание модели Entity Framework с нуля

Дата и время: 5 октября 2014 г. 18:51 | Категория: Веб-разработка, ASP.NET

Небольшая памятка по созданию модели Entity Framework, когда под рукой есть только Visual Studio.

Для начала создадим базу данных. Перейдём в меню Tools -> Connect to Database (возможно Tools -> Add Сonnection). В результате откроется окно Add Сonnection.

Окно Add Connection

В Data source выберите Microsoft SQL Server, в Server name укажите (localdb)\v11.0, а в Select or enter database name укажите желаемое имя базы данных. Нажмите ОК. Появится окно с предложением создать новую базу. Примите данное предложение.

Окно с предложением создать новую базу

В окне Server Explorer (View -> Server Explorer) находим папку Tables в созданной базе данных. Шёлкаем по ней правой клавишей мыши и создаём несколько таблиц удобным вам способом (Add New Table или New Query):

Контекстное меню

Важно: В случае, если какая-то таблица не будет иметь первичного ключа, то её модель создана не будет.

Создаём новый консольный, или другой под ваши нужды, проект (если не был создан ранее). Переходим в меню Project-> Add Component, выбираем там ADO.NET Entity Data Model, задём имя и нажимаем Add.

Окно Add New Item

В следующем окне выбираем Code First from database и жмём Next.

Окно Entity Data Model Wizard

В следующем окне выбираем нашу базу и задаём имя контекста, через который будем обращаться к базе данных.

Окно Entity Data Model Wizard

Далее выбираем таблицы, включаем плюрализацию имён и жмём финиш.

Окно Entity Data Model Wizard

В итоге создадутся классы для каждого объекта базы данных, а также контекст, через который можно обращаться к объектам базы данных. Например, вывести значения поля name всех объектов из таблицы Deps можно с помощью следующего кода (MtmModelContext - имя созданного контекста):

using System;

namespace Project
{
    class Program
    {
        static void Main(string[] args)
        {
            using(var db = new MtmModelContext())
            {
                foreach (var item in db.Deps)
                {
                    Console.WriteLine(item.name);
                }
			}
		}
	}
}

comments powered by Disqus
Select language:
  • Русский
  • English

  • Программирование

    Python C++ JavaScript

    Веб-разработка

    Django ASP.NET

    Мобильная разработка

    Windows Phone Android

    Разработка игр

    Unity3d Blender

    Артем Устимов © 2014