49
ASP.NET Identity tools for Entity Framework model

WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0 используя Entity Model теперь проще простого"

Embed Size (px)

Citation preview

ASP.NET Identity tools for Entity Framework model

Андрей Чебукин

▪ The Secret Circle Solutions

▪ Windows Phone, Windows 8

▪ Unity 3D

▪ Microsoft Azure

▪ F#

▪ CMS, Ruby

▪ ШАГ

▪ C#

▪ Windows Forms

▪ WPF

▪ ADO.NET

Основатель The Secret Circle Solutions

Преподаватель КА «ШАГ»

Студент-партнёр Microsoft

MCSD по Windows 8

О чём поговорим

▪ Шаблоны проектов и элементов проекта в Visual Studio

▪ Дизайнер Entity Framework и его расширение

▪ T4 трансформации

История

Какие в ASP.NET есть системы аутентификации?

▪ ASP.NET Membership

▪ ASP.NET Identity

Какая была проблема с ASP.NET Membership?

ASP.NET Identity

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

Entity Framework

Code First

▪ Не люблю писать то, что может быть сгенерировано

Model First / Database First

▪ Дизайнер – это счастье

▪ SSDT

ДемоASP.NET Identity Database

Project Templates и Item Templates

Шаблоны бывают

Где Project Templates и Item Templates

▪ В папках

▪ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE

▪ C:\Users\<пользователь>\Documents\Visual Studio 2015\Templates

▪ В расширениях

▪ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions

▪ C:\Users\<пользователь>\AppData\Local\Microsoft\VisualStudio\14.0\Extensions

ДемоШаблоны проекта и элемента проекта

Проект создали…Что дальше?

ASP.NET Identity Entity Model

ASP.NET Identity требует!

Зачем нам тогда комп?

Entity Framework же это как-то сам делает!

Трансформации T4

Простые шаблоны

T4

▪ <#@ #> – директива

▪ <#= #> – вывод в файл

▪ <# #> – код на C# или Visual Basic

▪ T4 Include

CSharpDbContext.Context.tt

CSharpDbContext.Types.tt

Стандартные переменные шаблонаПараметр Описание

clrversion

GUID [1-10] 10 уникальных GUID’ов

itemname Имя из диалогового окна Add New Item

machinename

projectname Имя из диалогового окна New Project

registeredorganization Значение из HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization

rootnamespace Корневое пространство имён. Только для шаблона элемента

safeitemname Имя из диалогового окна Add New Item с удалёнными небезопасными символами и

пробелами

safeprojectname Имя из диалогового окна New Project с удалёнными небезопасными символами и

пробелами

time Текущие дата время в формате DD/MM/YYYY 00:00:00.

SpecificSolutionName Имя решения. Когда "create solution directory", SpecificSolutionName = имя решения.

Когда не "create solution directory" SpecificSolutionName = пустая строка

userdomain

username

webnamespace Имя текущего веб-сайта

year Текущий год в формате YYYY

Моя трансформация

Автоматическое подключение NuGet

Описание моего шаблона элемента

Есть проблемка…Откуда шаблон будет знать где User, где Role, где Claim, а где Identity?

Нужно что-то делать с моделью!

Сущности ASP.NET Identity Entity

Структура модели

Структура концептуальной модели

Расширение дизайнера Entity Framework

ДемоEF Designer Extension Starter Kit

Experimental Instance

▪ "C:\Users\Андрій\AppData\Local\Microsoft\VisualStudio\12.0Exp“

▪ "C:\Users\Андрій\AppData\Local\Microsoft\VisualStudio\14.0Exp"

Мои расширения концептуальной модели

ДемоРасширение модели

ASP.NET Identity tools for Entity Framework modelМоё первое расширение для Visual Studio

Присоединяйтесь к разработкеhttps://github.com/xperiandri/Asp.Net-Identity-Tools-for-Entity-Framework-model

Спасибо за внимание

Андрей Чебукин

XperiAndri

▪ Блогhttp://xperiandri.azurewebsites.net/

▪ GitHubhttps://github.com/xperiandri/

▪ Профили в соц. сетяхwww.fb.com/xperiandriwww.vk.com/xperiandri

▪ YouTubehttps://www.youtube.com/user/andriicsharp/videos