Blog
  • Home
  • About
  • Contact

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

Date and time: Oct. 5, 2014, 6:51 p.m. | Category: Веб-разработка, 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
Выберите язык:
  • Русский
  • English

  • Programming

    Python C++ JavaScript

    Web development

    Django ASP.NET

    Mobile development

    Windows Phone Android

    Game development

    Unity3d Blender

    Artem Ustimov © 2014