Visual Studio 201о

Язык HTML был разработан Тимом Бернерс-Ли во время его работы в CERN и распространен браузером Mosaic, разработанным в NCSA. В

Visual Studio 201о

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
.Generic;System.Linq;System.Web;System.IO;wIN_test_1_.Models

{

[Serializable]class UserModel

{Guid Id { get; set; }string Name { get; set; }long Rate { get; set; }string Logo { get; set; }UserModel(User user)

{= user.id;= user.name;= user.rate;(var reader = new StreamReader(HttpContext.Current.Server.MapPath

("~/App_Data/logos/" + user.id.ToString())))

{= reader.ReadToEnd();

}

}User User()

%20x.id%20==%20Id);user;">{user = new WINEntities().Users.Single(x => x.id == Id);user;

}

}

[Serializable]class ImageModel

{Guid Id { get; set; }Guid Uid { get; set; }Guid Location { get; set; }string Author { get; set; }string LocationName { get; set; }string Data { get; set; }DateTime Date { get; set; }

ImageModel(Image image)

{.Id = image.id;.Uid = image.uid;.Location = image.location;.Date = image.date;.Author = image.Author.name;.LocationName = image.Location.name;path = HttpContext.Current.Server.MapPath("~/app_data/images") + "/" + Id.ToString();= File.ReadAllText(path);

}Image Image()

%20x.id%20==%20Id);image;">{dc = new WINEntities();image = dc.Images.SingleOrDefault(x => x.id == Id);image;

}

}

 

[Serializable]class ImageMiniatureModel

{Guid Id { get; set; }Guid Uid { get; set; }Guid Location { get; set; }string Author { get; set; }string LocationName { get; set; }string Data { get; set; }DateTime Date { get; set; }

ImageMiniatureModel(Image image)

{.Id = image.id;.Uid = image.uid;.Location = image.location;.Date = image.date;.Author = image.Author.name;.LocationName = image.Location.name;path = HttpContext.Current.Server.MapPath("~/app_data/images") + "/" + Id.ToString()+".min";= File.ReadAllText(path);

}Image Image()

%20x.id%20==%20Id);">{dc = new WINEntities();image = dc.Images.SingleOrDefault(x => x.id == Id);

return image;

}

}

}

 

Платформа Entity Framework представляет собой набор технологий ADO.NET, обеспечивающих разработку приложений, связанных с обработкой данных. Архитекторам и разработчикам приложений, ориентированных на обработку данных, приходится учитывать необходимость достижения двух совершенно различных целей. Они должны моделировать сущности, связи и логику решаемых бизнес-задач, а также работать с ядрами СУБД, используемыми для сохранения и получения данных. Данные могут распределяться по нескольким системам хранения данных, в каждой из которых применяются свои протоколы, но даже в приложениях, работающих с одной системой хранения данных, необходимо поддерживать баланс между требованиями системы хранения данных и требованиями написания эффективного и удобного для обслуживания кода приложения.

В Entity Framework разработчики получают возможность работать с данными, представленными в форме относящихся к конкретным доменам объектов и свойств, таких как клиенты и их адреса, не будучи вынужденными обращаться к базовым таблицам и столбцам базы данных, где хранятся эти данные. Entity Framework дает разработчикам возможность работать с данными на более высоком уровне абстракции, создавать и сопровождать приложения, ориентированные на работу с данными, одновременно с этим сокращая объем кода, по сравнению с традиционными приложениями. Поскольку Entity Framework является компонентом .NET Framework, приложения Entity Framework могут работать на любом компьютере, где установлена платформа .NET Framework, начиная с версии 3.5 с пакетом обновления 1 (SP1).

Многолетним и общим подходом к разработке является подход, при котором построение приложения или службы представляет собой его разделение на три части: модель домена, логическую модель и физическую модель. Модель домена определяет сущности и связи в моделируемой системе. Логическая модель для реляционной базы данных обеспечивает нормализацию сущностей и связей в целях создания таблиц с ограничениями внешнего ключа. В физической модели учитываются возможности конкретной системы обработки данных путем определения зависящих от ядра базы данных подробных сведений о хранении данных, которые касаются секционирования и индексирование.

Физическая модель совершенствуется администраторами базы данных в целях повышения производительности, но программисты, которые разрабатывают код приложения, в основном вынуждены ограничиваться работой с логической моделью, подготавливая SQL-запросы и вызывая хранимые процедуры. Модели домена в основном используются как инструмент для представления и обмена мнениями о требованиях к приложению, поэтому чаще всего служат в качестве практически не изменяющихся схем, которые рассматриваются и обсуждаются на ранних стадиях проекта, после чего выходят из сферы внимания. Во многих коллективах разработчиков принято пропускать этап создания концептуальной модели и начинать с определения таблиц, столбцов и ключей в реляционной базе данных.

Платформа Entity Framework придает значимость моделям, позволяя разработчикам выполнять запросы к сущностям и связям в модели домена (которая называется концептуальной моделью в Entity Framework ), при этом для перевода этих операций в команды, определяемые источником данных, используется сама платформа Entity Framework . Это позволяет отказаться от применения в приложениях жестко заданных зависимостей от конкретного источника данных. Концептуальная модель, модель хранения и сопоставление между ними выражены в схемах на основе XML и определены в файлах с именами с соответствующими расширениями.

·Язык CSDL определяет концептуальную модель. Язык CSDL - это реализация модели EDM для платформы Entity Framework . Расширение файла - CSDL.

·Язык SSDL определяет модель хранения данных, которая также называется логической моделью. Расширение файла - SSDL.

·Язык MSL определяет сопоставление модели хранения и концептуальной модели. Расширение файла - MSL.

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

В Entity Framework файлы модели и сопоставления служат для выполнения операций создания, чтения, обновления и удаления, выполняемых над сущностями и связями концептуальной модели, в эквивалентные операции в источнике данных. Модель Entity Framework поддерживает даже сопоставление сущностей в концептуальной модели с хранимыми процедурами в источнике данных.

При использовании объектно-ориентированного программирования для взаимодействия с системами хранения данных возникают сложности. Безусловно, организация классов часто напоминает организацию таблиц реляционной базы данных, но такое соответствие неидеально. Несколько нормализованных таблиц часто соответствуют единственному классу, а связи между классами представлены не так, как связи между таблицами. Например, для представления клиенту заказа на продажу в классе Order может использоваться свойство, содержащее ссылку на экземпляр класса Customer, но строка таблицы Order базы данных содержит столбец внешнего ключа (или набор столбцов) со значением, которое соответствует первичному ключу в таблице Customer. Класс Customer может включать свойство с именем Orders, содержащее коллекцию экземпляров класса Order, но таблица Customer базы данных не содержит сравнимого столбца. В этом случае Entity Framework предоставляет разработчикам гибкость в представлении связей или более полные связи модели (такие, как в базе данных).

В существующих решениях была предпринята попытка устранить этот разрыв, часто называемый «несоответствием типов данных» (impedance mismatch), путем сопоставления с реляционными таблицами и столбцами только объектно-ориентированных классов и свойств. Вместо данного традиционного подхода в Entity Framework реляционные таблицы, столбцы и ограничения внешнего ключа логических моделей преобразуются в сущности и связи концептуальных моделей. Это позволяет достичь большей гибкости при определении объектов и оптимизации логической модели. С помощью инструментов модель EDM (сущностная модель данных) формируются расширяемые классы данных, основанные на концептуальной модели. Эти классы являются разделяемыми классами, которые могут быть расширены с помощью дополнительных членов, добавленных разработчиком. По умолчанию классы, сформированные для определенной концептуальной модели, являются производными от базовых классов, предоставляющих службы для материализации сущностей в виде объектов, а также для отслеживания и сохранения изменений. Разработчики могут использовать эти три класса для работы с сущностями и связями как с объектами, относящимися к ассоциациям. Разработчики смогут также настраивать классы, сформированные для концептуальной модели.Framework - это не просто еще одно средство объектно-реляционного сопоставления. Она предоставляет приложениям возможность чтения и изменения данных, представленных в виде сущностей и связей в концептуальной модели. Entity Framework использует данные в модели и файлах сопоставления для преобразования запросов объектов к типам сущностей, представленным в концептуальной модели, в запросы, зависящие от источника данных. Результаты запросов преобразуются в объекты, которыми управляют Entity Framework . Платформа Entity Framework реализует следующие способы выполнения запросов к концептуальной модели и возврата объектов.

·LINQ to Entities . Обеспечивает поддержку запросов LINQ для выполнения запросов к типам сущности, которые определены в концептуальной модели. Дополнительные сведения см. в разделе LINQ to Entities.

·Entity SQL . Независимый от хранилища диалект SQL, который работает непосредственно с сущност

Похожие работы

<< < 2 3 4 5 6 7 >