Тем, кто пишет запросы в коде страницы посвящается…
Приветствую всех!
На хабре есть немного информации о том, что в следующей версии VisualStudio 2008 будет ADO.NET EntityFramework. (Открою секрет, эта версия уже появилась.) Эта разработка представляет собой универсальный фреймворк, который позволяет создавать даталогику вашего проекта в пару кликов мыши.
До сих пор, работая с даталогикой, я сталкивался с 2 видами проектов. Первые были созданы на небезызвестном фреймворке NHibernate , другие реализовывали даталогику программистами. Я уже 3 года занимаюсь написанием и разработкой различных систем и всё это время разрабатывал логику работы с данными исключительно ручками.
И вот, на днях, после того, как я поставил новую винду, я скачал VisualStudio WebDeveloper Express, и с радостью обнаружил в комплекте поставки ADO.NET EntityFramework. Через некоторое время зарегистрировал домен, создал простенький сайт, и начал тренировать свои силы в написании программ под этот фреймворк.
Для начала необходимо создать простой Web проект с базой данных. К базе данных тоже неплохо было бы подключится сразу через DataBase Explorer. Просто потом будет удобнее.
После этого, в проект надо добавить новый элемент «ADO.NET Entity Data Model».
Системе надо будет указать строку для соединения с базой, а так же указать, откуда возьмётся первая модель ADO.NET EF.
В своей БД я уже имею две очень простых таблицы Post и User, поэтому не мудрствуя лукаво, я заставил систему создать модель на основе моей БД. После всех этих, очень простых действий, я получил рабочую модель БД. Более того, изучив эту модель визуально, я не забыл заглянуть в код, и посмотреть, как же фрейворк описывает все мои классы?
- namespace DataBaseCore
- ///
- /// There are no comments for DbModel in the schema.
- ///
- public partial class DbModel: global::System.Data.Objects.ObjectContext
- ///
- /// Initializes a new DbModel object using the connection string found in the «DbModel» section of the application configuration file.
- ///
- public DbModel() :
- base («name=DbModel» , «DbModel» )
- this .OnContextCreated();
- /* Урезал за ненадобностью */
- public partial class Post: global::System.Data.Objects.DataClasses.EntityObject
- ///
- /// Create a new Post object.
- ///
- /// Initial value of Id.
- public static Post CreatePost(int id)
- Post post = new Post();
- post.Id = id;
- return post;