Расширение visual studio для asp.net identity

48
ASP.NET Identity tools for Entity Framework model Андрей Чебукин

Upload: dataart

Post on 06-Aug-2015

67 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Расширение Visual studio для ASP.NET Identity

ASP.NET Identity tools for Entity Framework modelАндрей Чебукин

Page 2: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

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

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

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

Page 3: Расширение Visual studio для ASP.NET Identity

История

Page 4: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

▪ ASP.NET Membership

▪ ASP.NET Identity

Page 5: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 6: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 7: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

ASP.NET IdentityМодель данных

Page 8: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Entity Framework

Code First

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

Model First / Database First

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

▪ SSDT

Page 9: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 10: Расширение Visual studio для ASP.NET Identity

ДемоASP.NET Identity Database

Page 11: Расширение Visual studio для ASP.NET Identity

Project Templates и Item Templates

Page 12: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 13: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 14: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Где 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

Page 15: Расширение Visual studio для ASP.NET Identity

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

Page 16: Расширение Visual studio для ASP.NET Identity

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

Page 17: Расширение Visual studio для ASP.NET Identity

ASP.NET Identity Entity Model

Page 18: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 19: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 20: Расширение Visual studio для ASP.NET Identity

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

Page 21: Расширение Visual studio для ASP.NET Identity

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

Page 22: Расширение Visual studio для ASP.NET Identity

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

Page 23: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 24: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

T4

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

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

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

▪ T4 Include

Page 25: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

CSharpDbContext.Context.tt

Page 26: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

CSharpDbContext.Types.tt

Page 27: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Стандартные переменные шаблонаПараметр Описаниеclrversion GUID [1-10] 10 уникальных GUID’овitemname Имя из диалогового окна Add New Itemmachinename projectname Имя из диалогового окна New Projectregisteredorganization Значение из HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganizationrootnamespace Корневое пространство имён. Только для шаблона элемента

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

Page 28: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 29: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 30: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 31: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 32: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 33: Расширение Visual studio для ASP.NET Identity

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

Page 34: Расширение Visual studio для ASP.NET Identity

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

Page 35: Расширение Visual studio для ASP.NET Identity

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

Page 36: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 37: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 38: Расширение Visual studio для ASP.NET Identity

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

Page 39: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 40: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Page 41: Расширение Visual studio для ASP.NET Identity

ДемоEF Designer Extension Starter Kit

Page 42: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

Experimental Instance

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

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

Page 43: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 44: Расширение Visual studio для ASP.NET Identity

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

Page 45: Расширение Visual studio для ASP.NET Identity

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

Page 46: Расширение Visual studio для ASP.NET Identity

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

Page 47: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

Page 48: Расширение Visual studio для ASP.NET Identity

XperiAndri © 2015

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

XperiAndri

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

▪ GitHubhttps://github.com/xperiandri/

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

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