Расширение visual studio для asp.net identity
TRANSCRIPT
![Page 1: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/1.jpg)
ASP.NET Identity tools for Entity Framework modelАндрей Чебукин
![Page 2: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/2.jpg)
XperiAndri © 2015
О чём поговорим
▪ Шаблоны проектов и элементов проекта в Visual Studio
▪ Дизайнер Entity Framework и его расширение
▪ T4 трансформации
![Page 3: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/3.jpg)
История
![Page 4: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/4.jpg)
XperiAndri © 2015
Какие в ASP.NET есть системы аутентификации?
▪ ASP.NET Membership
▪ ASP.NET Identity
![Page 5: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/5.jpg)
XperiAndri © 2015
Какая была проблема с ASP.NET Membership?
![Page 6: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/6.jpg)
XperiAndri © 2015
![Page 7: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/7.jpg)
XperiAndri © 2015
ASP.NET IdentityМодель данных
![Page 8: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/8.jpg)
XperiAndri © 2015
Entity Framework
Code First
▪ Не люблю писать то, что может быть сгенерировано
Model First / Database First
▪ Дизайнер – это счастье
▪ SSDT
![Page 9: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/9.jpg)
XperiAndri © 2015
![Page 10: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/10.jpg)
ДемоASP.NET Identity Database
![Page 11: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/11.jpg)
Project Templates и Item Templates
![Page 12: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/12.jpg)
XperiAndri © 2015
![Page 13: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/13.jpg)
XperiAndri © 2015
Шаблоны бывают
![Page 14: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/15.jpg)
ДемоШаблоны проекта и элемента проекта
![Page 16: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/16.jpg)
Проект создали…Что дальше?
![Page 17: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/17.jpg)
ASP.NET Identity Entity Model
![Page 18: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/18.jpg)
XperiAndri © 2015
ASP.NET Identity требует!
![Page 19: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/19.jpg)
XperiAndri © 2015
![Page 20: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/20.jpg)
Зачем нам тогда комп?
![Page 21: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/21.jpg)
Entity Framework же это как-то сам делает!
![Page 22: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/22.jpg)
Трансформации T4
![Page 23: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/23.jpg)
XperiAndri © 2015
Простые шаблоны
![Page 24: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/24.jpg)
XperiAndri © 2015
T4
▪ <#@ #> – директива
▪ <#= #> – вывод в файл
▪ <# #> – код на C# или Visual Basic
▪ T4 Include
![Page 25: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/25.jpg)
XperiAndri © 2015
CSharpDbContext.Context.tt
![Page 26: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/26.jpg)
XperiAndri © 2015
CSharpDbContext.Types.tt
![Page 27: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/28.jpg)
XperiAndri © 2015
Моя трансформация
![Page 29: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/29.jpg)
XperiAndri © 2015
Автоматическое подключение NuGet
![Page 30: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/30.jpg)
XperiAndri © 2015
![Page 31: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/31.jpg)
XperiAndri © 2015
![Page 32: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/32.jpg)
XperiAndri © 2015
Описание моего шаблона элемента
![Page 33: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/33.jpg)
Есть проблемка…Откуда шаблон будет знать где User, где Role, где Claim, а где Identity?
![Page 34: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/34.jpg)
Нужно что-то делать с моделью!
![Page 35: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/35.jpg)
Сущности ASP.NET Identity Entity
![Page 36: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/36.jpg)
XperiAndri © 2015
Структура модели
![Page 37: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/37.jpg)
XperiAndri © 2015
Структура концептуальной модели
![Page 38: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/38.jpg)
Расширение дизайнера Entity Framework
![Page 39: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/39.jpg)
XperiAndri © 2015
![Page 40: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/40.jpg)
XperiAndri © 2015
![Page 41: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/41.jpg)
ДемоEF Designer Extension Starter Kit
![Page 42: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/43.jpg)
XperiAndri © 2015
Мои расширения концептуальной модели
![Page 44: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/44.jpg)
ДемоРасширение модели
![Page 45: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/45.jpg)
ASP.NET Identity tools for Entity Framework modelМоё первое расширение для Visual Studio
![Page 46: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/46.jpg)
Присоединяйтесь к разработкеhttps://github.com/xperiandri/Asp.Net-Identity-Tools-for-Entity-Framework-model
![Page 47: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/47.jpg)
XperiAndri © 2015
Спасибо за внимание
![Page 48: Расширение Visual studio для ASP.NET Identity](https://reader035.vdocuments.net/reader035/viewer/2022062216/55c2c00ebb61ebd42d8b47f9/html5/thumbnails/48.jpg)
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