Использование Dynamic Data на практике презентация

Сегодня в докладе… Поговорим… Что такое Dynamic Data? Посмотрим... Как оно выглядит? Подумаем... Подходит ли нам?

Слайд 1Использование Dynamic Data на практике
Гайдар Магдануров
t: twitter.com/gaidar
p: +7 (905) 5045716
e:

gaidarma@Microsoft.com

Слайд 2Сегодня в докладе…
Поговорим… Что такое Dynamic Data?
Посмотрим... Как оно выглядит?
Подумаем... Подходит

ли нам?

Слайд 3Что такое Dynamic Data?
Оснастка для работы с данными
Гибкая кастомизация
Валидация данных
Доступно в

.NET FW 3.5 SP1 / 4.0


Слайд 4Архитектура Dynamic Data



Источник данных





Модель данных






Мета-данные


Слайд 5Три шага к Dynamic Data
Определить модель данных
Зарегистрировать модель
Кастомизировать шаблоны


Слайд 6Возможности кастомизации





Слайд 7Посмотрим


Слайд 8Маршрутизация
routes.Add( new DynamicDataRoute("{table}/{action}.aspx")
{
Constraints= new RouteValueDictionary( new { action= "List|Details|Edit|Insert" }),
Model=

model
});

routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {
Action= PageAction.List,ViewName= "ListDetails", Model= model});

routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx"){
Action= PageAction.Details, ViewName= "ListDetails",Model= model});


Слайд 9Контролы и страницы


Слайд 10Применение мета-данных
using System;
using System.ComponentModel.DataAnnotations;

[MetadataType(typeof(EmployeeMetadata))]
public partial class Employee
{
}

public class EmployeeMetadata
{
[UIHint("DateTimeCalendar")]
public objectHireDate{ get;

set; }
}

Слайд 11Валидация
public class CustomerMetadata{
[Required()]
public object Title;
}
public partial class Customer {

partial void OnTitleChanging(string value) {
if(!Char.IsUpper(value[0])) {throw new ValidationException(“!!!"); }
}
}

Слайд 12Валидация
public partial class Employee{
partial void OnValidate(System.Data.Linq.ChangeAction action){
if(action==

System.Data.Linq.ChangeAction.Insert)) {
if(this._BirthDate.Value.CompateTo(DateTime.Now)>0)
throw new ValidationException(“!!!”);
}
}
}

Слайд 13Возможности
Независимость от слоя данных
LINQ2SQL, Entity Framework,ADO.NET Data Services
Правила валидации
Атрибуты полей на

уровне модели
Ограничение доступа
На уровне web.confg / на уровне страницы

Слайд 14Пример из жизни


Слайд 15Пример из жизни


Слайд 16Пример из жизни


Слайд 17Пример из жизни


Слайд 18Оно нам надо?


Слайд 19Где узнать больше?
Официальные сайты
http://www.asp.net/dynamicdata
http://www.codeplex.com/aspnet
Блоги
http://blogs.msdn.com/davidebb/
http://blogs.msdn.com/marcinon/
http://blogs.msdn.com/scothu/
http://weblogs.asp.net/scottgu
http://www.hanselman.com/blog/


Пишите мне
gaidarma@microsoft.com


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика