From 25ea31dc2a2038353cf822a4052973366e13e493 Mon Sep 17 00:00:00 2001 From: Brice Lambson Date: Tue, 10 Sep 2019 10:43:48 -0700 Subject: [PATCH] Simplify Getting Started Part of #481 --- .openpublishing.redirection.json | 50 ++++ .../create-blogging-database-script.sql | 28 --- .../get-started/aspnetcore/_static/create.png | Bin 17151 -> 0 bytes .../aspnetcore/_static/index-existing-db.png | Bin 37902 -> 0 bytes .../aspnetcore/_static/index-new-db.png | Bin 19580 -> 0 bytes .../get-started/aspnetcore/existing-db.md | 179 -------------- .../core/get-started/aspnetcore/index.md | 15 -- .../core/get-started/aspnetcore/new-db.md | 232 ------------------ .../_static/output-existing-db.png | Bin 4817 -> 0 bytes .../full-dotnet/_static/output-new-db.png | Bin 3873 -> 0 bytes .../get-started/full-dotnet/existing-db.md | 120 --------- .../core/get-started/full-dotnet/index.md | 16 -- .../core/get-started/full-dotnet/new-db.md | 94 ------- entity-framework/core/get-started/index.md | 173 +++++++++++-- .../get-started/netcore/_static/terminal.png | Bin 14740 -> 0 bytes .../core/get-started/netcore/index.md | 12 - .../core/get-started/netcore/new-db-sqlite.md | 112 --------- .../core/get-started/uwp/_static/create.png | Bin 5903 -> 0 bytes .../core/get-started/uwp/_static/list.png | Bin 5910 -> 0 bytes .../core/get-started/uwp/getting-started.md | 163 ------------ .../core/get-started/uwp/index.md | 13 - .../miscellaneous/configuring-dbcontext.md | 1 - .../core/providers/sql-server/index.md | 9 - .../core/providers/sqlite/index.md | 11 - .../efcore-and-ef6/porting/port-edmx.md | 3 - entity-framework/index.md | 12 - entity-framework/toc.md | 13 +- .../Controllers/BlogsController.cs | 152 ------------ .../Controllers/HomeController.cs | 43 ---- .../EFGetStarted.AspNetCore.ExistingDb.csproj | 13 - .../Models/Blog.cs | 18 -- .../Models/BloggingContext.cs | 45 ---- .../Models/ErrorViewModel.cs | 11 - .../Models/Post.cs | 15 -- .../Program.cs | 24 -- .../Properties/launchSettings.json | 27 -- .../Startup.cs | 72 ------ .../Views/Blogs/Create.cshtml | 33 --- .../Views/Blogs/Delete.cshtml | 27 -- .../Views/Blogs/Details.cshtml | 24 -- .../Views/Blogs/Edit.cshtml | 34 --- .../Views/Blogs/Index.cshtml | 35 --- .../Views/Home/About.cshtml | 7 - .../Views/Home/Contact.cshtml | 17 -- .../Views/Home/Index.cshtml | 94 ------- .../Views/Home/Privacy.cshtml | 6 - .../Views/Shared/Error.cshtml | 22 -- .../Views/Shared/_CookieConsentPartial.cshtml | 41 ---- .../Views/Shared/_Layout.cshtml | 74 ------ .../Shared/_ValidationScriptsPartial.cshtml | 18 -- .../Views/_ViewImports.cshtml | 3 - .../Views/_ViewStart.cshtml | 3 - .../appsettings.Development.json | 9 - .../appsettings.json | 8 - .../wwwroot/css/site.css | 37 --- .../wwwroot/css/site.min.css | 1 - .../wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/images/banner1.svg | 1 - .../wwwroot/images/banner2.svg | 1 - .../wwwroot/images/banner3.svg | 1 - .../wwwroot/js/site.js | 4 - .../wwwroot/js/site.min.js | 0 .../Controllers/BlogsController.cs | 152 ------------ .../Controllers/HomeController.cs | 43 ---- .../EFGetStarted.AspNetCore.NewDb.csproj | 17 -- .../EFGetStarted.AspNetCore.NewDb.sln | 25 -- .../20180904155347_InitialCreate.Designer.cs | 60 ----- .../20180904155347_InitialCreate.cs | 58 ----- .../BloggingContextModelSnapshot.cs | 58 ----- .../Models/ErrorViewModel.cs | 11 - .../Models/Model.cs | 33 --- .../Program.cs | 24 -- .../Startup.cs | 76 ------ .../Views/Blogs/Create.cshtml | 33 --- .../Views/Blogs/Delete.cshtml | 27 -- .../Views/Blogs/Details.cshtml | 24 -- .../Views/Blogs/Edit.cshtml | 34 --- .../Views/Blogs/Index.cshtml | 35 --- .../Views/Home/About.cshtml | 7 - .../Views/Home/Contact.cshtml | 17 -- .../Views/Home/Index.cshtml | 94 ------- .../Views/Home/Privacy.cshtml | 6 - .../Views/Shared/Error.cshtml | 22 -- .../Views/Shared/_CookieConsentPartial.cshtml | 41 ---- .../Views/Shared/_Layout.cshtml | 74 ------ .../Shared/_ValidationScriptsPartial.cshtml | 18 -- .../Views/_ViewImports.cshtml | 3 - .../Views/_ViewStart.cshtml | 3 - .../appsettings.Development.json | 9 - .../appsettings.json | 8 - .../blogging.db | Bin 28672 -> 0 bytes .../wwwroot/css/site.css | 37 --- .../wwwroot/css/site.min.css | 1 - .../wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/images/banner1.svg | 1 - .../wwwroot/images/banner2.svg | 1 - .../wwwroot/images/banner3.svg | 1 - .../wwwroot/js/site.js | 4 - .../wwwroot/js/site.min.js | 0 .../Controllers/BlogsController.cs | 152 ------------ .../Controllers/HomeController.cs | 43 ---- .../EFGetStarted.AspNetCore.NewDb.csproj | 13 - .../20180803155018_InitialCreate.Designer.cs | 65 ----- .../20180803155018_InitialCreate.cs | 59 ----- .../BloggingContextModelSnapshot.cs | 63 ----- .../Models/ErrorViewModel.cs | 11 - .../Models/Model.cs | 33 --- .../EFGetStarted.AspNetCore.NewDb/Program.cs | 24 -- .../Properties/launchSettings.json | 27 -- .../EFGetStarted.AspNetCore.NewDb/Startup.cs | 76 ------ .../Views/Blogs/Create.cshtml | 33 --- .../Views/Blogs/Delete.cshtml | 27 -- .../Views/Blogs/Details.cshtml | 24 -- .../Views/Blogs/Edit.cshtml | 34 --- .../Views/Blogs/Index.cshtml | 35 --- .../Views/Home/About.cshtml | 7 - .../Views/Home/Contact.cshtml | 17 -- .../Views/Home/Index.cshtml | 94 ------- .../Views/Home/Privacy.cshtml | 6 - .../Views/Shared/Error.cshtml | 22 -- .../Views/Shared/_CookieConsentPartial.cshtml | 41 ---- .../Views/Shared/_Layout.cshtml | 74 ------ .../Shared/_ValidationScriptsPartial.cshtml | 18 -- .../Views/_ViewImports.cshtml | 3 - .../Views/_ViewStart.cshtml | 3 - .../appsettings.Development.json | 9 - .../appsettings.json | 8 - .../wwwroot/css/site.css | 37 --- .../wwwroot/css/site.min.css | 1 - .../wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/images/banner1.svg | 1 - .../wwwroot/images/banner2.svg | 1 - .../wwwroot/images/banner3.svg | 1 - .../wwwroot/js/site.js | 4 - .../wwwroot/js/site.min.js | 0 samples/core/GetStarted/EFGetStarted.csproj | 17 ++ .../FullNet/ConsoleApp.ExistingDb/App.config | 14 -- .../FullNet/ConsoleApp.ExistingDb/Blog.cs | 18 -- .../ConsoleApp.ExistingDb/BloggingContext.cs | 45 ---- .../ConsoleApp.ExistingDb.csproj | 145 ----------- .../FullNet/ConsoleApp.ExistingDb/Post.cs | 15 -- .../FullNet/ConsoleApp.ExistingDb/Program.cs | 24 -- .../Properties/AssemblyInfo.cs | 36 --- .../ConsoleApp.ExistingDb/packages.config | 32 --- .../FullNet/ConsoleApp.NewDb/App.config | 14 -- .../ConsoleApp.NewDb/ConsoleApp.NewDb.csproj | 148 ----------- .../20180806165801_InitialCreate.Designer.cs | 65 ----- .../20180806165801_InitialCreate.cs | 59 ----- .../BloggingContextModelSnapshot.cs | 63 ----- .../FullNet/ConsoleApp.NewDb/Model.cs | 34 --- .../FullNet/ConsoleApp.NewDb/Program.cs | 24 -- .../Properties/AssemblyInfo.cs | 36 --- .../FullNet/ConsoleApp.NewDb/packages.config | 32 --- .../20190917222642_InitialCreate.Designer.cs | 67 +++++ .../20190917222642_InitialCreate.cs} | 2 +- .../BloggingContextModelSnapshot.cs | 65 +++++ .../{UWP/Blogging.Model => }/Model.cs | 16 +- .../ConsoleApp.SQLite.csproj | 13 - .../20180704154314_InitialCreate.Designer.cs | 60 ----- .../20180704154314_InitialCreate.cs | 58 ----- .../BloggingContextModelSnapshot.cs | 58 ----- .../NetCore/ConsoleApp.SQLite/Model.cs | 34 --- .../NetCore/ConsoleApp.SQLite/Program.cs | 24 -- samples/core/GetStarted/Program.cs | 41 ++++ .../Blogging.Migrations.Startup.csproj | 12 - .../Blogging.Migrations.Startup/Program.cs | 12 - .../UWP/Blogging.Model/Blogging.Model.csproj | 12 - .../20180810013553_InitialCreate.Designer.cs | 60 ----- .../BloggingContextModelSnapshot.cs | 58 ----- .../core/GetStarted/UWP/Blogging.UWP/App.xaml | 7 - .../GetStarted/UWP/Blogging.UWP/App.xaml.cs | 97 -------- .../Assets/LockScreenLogo.scale-200.png | Bin 1430 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 7700 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 2937 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 1647 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 1255 -> 0 bytes .../UWP/Blogging.UWP/Assets/StoreLogo.png | Bin 1451 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 3204 -> 0 bytes .../UWP/Blogging.UWP/Blogging.UWP.csproj | 151 ------------ .../GetStarted/UWP/Blogging.UWP/MainPage.xaml | 24 -- .../UWP/Blogging.UWP/MainPage.xaml.cs | 51 ---- .../UWP/Blogging.UWP/Package.appxmanifest | 49 ---- .../Blogging.UWP/Properties/AssemblyInfo.cs | 29 --- .../Blogging.UWP/Properties/Default.rd.xml | 31 --- samples/core/GetStarted/UWP/Blogging.sln | 83 ------- samples/core/Samples.sln | 184 ++------------ 186 files changed, 420 insertions(+), 5998 deletions(-) delete mode 100644 entity-framework/core/get-started/_shared/create-blogging-database-script.sql delete mode 100644 entity-framework/core/get-started/aspnetcore/_static/create.png delete mode 100644 entity-framework/core/get-started/aspnetcore/_static/index-existing-db.png delete mode 100644 entity-framework/core/get-started/aspnetcore/_static/index-new-db.png delete mode 100644 entity-framework/core/get-started/aspnetcore/existing-db.md delete mode 100644 entity-framework/core/get-started/aspnetcore/index.md delete mode 100644 entity-framework/core/get-started/aspnetcore/new-db.md delete mode 100644 entity-framework/core/get-started/full-dotnet/_static/output-existing-db.png delete mode 100644 entity-framework/core/get-started/full-dotnet/_static/output-new-db.png delete mode 100644 entity-framework/core/get-started/full-dotnet/existing-db.md delete mode 100644 entity-framework/core/get-started/full-dotnet/index.md delete mode 100644 entity-framework/core/get-started/full-dotnet/new-db.md delete mode 100644 entity-framework/core/get-started/netcore/_static/terminal.png delete mode 100644 entity-framework/core/get-started/netcore/index.md delete mode 100644 entity-framework/core/get-started/netcore/new-db-sqlite.md delete mode 100644 entity-framework/core/get-started/uwp/_static/create.png delete mode 100644 entity-framework/core/get-started/uwp/_static/list.png delete mode 100644 entity-framework/core/get-started/uwp/getting-started.md delete mode 100644 entity-framework/core/get-started/uwp/index.md delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/BlogsController.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/HomeController.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/EFGetStarted.AspNetCore.ExistingDb.csproj delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Blog.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/BloggingContext.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/ErrorViewModel.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Post.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Program.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Properties/launchSettings.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Startup.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Create.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Delete.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Details.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Edit.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Index.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/About.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Contact.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Index.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Privacy.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/Error.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_CookieConsentPartial.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_Layout.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_ValidationScriptsPartial.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewImports.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewStart.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.Development.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.css delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.min.css delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/favicon.ico delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner1.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner2.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner3.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.js delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.min.js delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/BlogsController.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/HomeController.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.csproj delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.sln delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.Designer.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/BloggingContextModelSnapshot.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/ErrorViewModel.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/Model.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Program.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Startup.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Create.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Delete.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Details.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Edit.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Index.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/About.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Contact.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Index.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Privacy.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/Error.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_CookieConsentPartial.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_Layout.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_ValidationScriptsPartial.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewImports.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewStart.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.Development.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/blogging.db delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/css/site.css delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/css/site.min.css delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/favicon.ico delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner1.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner2.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner3.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.js delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.min.js delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/BlogsController.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/HomeController.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/EFGetStarted.AspNetCore.NewDb.csproj delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.Designer.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/BloggingContextModelSnapshot.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/ErrorViewModel.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/Model.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Program.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Properties/launchSettings.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Startup.cs delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Create.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Delete.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Details.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Edit.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Index.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/About.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Contact.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Index.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Privacy.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/Error.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_CookieConsentPartial.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_Layout.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_ValidationScriptsPartial.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewImports.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewStart.cshtml delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.Development.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.json delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.css delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.min.css delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/favicon.ico delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner1.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner2.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner3.svg delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.js delete mode 100644 samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.min.js create mode 100644 samples/core/GetStarted/EFGetStarted.csproj delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/App.config delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Blog.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/BloggingContext.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/ConsoleApp.ExistingDb.csproj delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Post.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Program.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Properties/AssemblyInfo.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/packages.config delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/App.config delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/ConsoleApp.NewDb.csproj delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.Designer.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/BloggingContextModelSnapshot.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Model.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Program.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Properties/AssemblyInfo.cs delete mode 100644 samples/core/GetStarted/FullNet/ConsoleApp.NewDb/packages.config create mode 100644 samples/core/GetStarted/Migrations/20190917222642_InitialCreate.Designer.cs rename samples/core/GetStarted/{UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.cs => Migrations/20190917222642_InitialCreate.cs} (98%) create mode 100644 samples/core/GetStarted/Migrations/BloggingContextModelSnapshot.cs rename samples/core/GetStarted/{UWP/Blogging.Model => }/Model.cs (69%) delete mode 100644 samples/core/GetStarted/NetCore/ConsoleApp.SQLite/ConsoleApp.SQLite.csproj delete mode 100644 samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.Designer.cs delete mode 100644 samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.cs delete mode 100644 samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/BloggingContextModelSnapshot.cs delete mode 100644 samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Model.cs delete mode 100644 samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Program.cs create mode 100644 samples/core/GetStarted/Program.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Blogging.Migrations.Startup.csproj delete mode 100644 samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Program.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.Model/Blogging.Model.csproj delete mode 100644 samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.Designer.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.Model/Migrations/BloggingContextModelSnapshot.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/App.xaml delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/App.xaml.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/LockScreenLogo.scale-200.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/SplashScreen.scale-200.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square150x150Logo.scale-200.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square44x44Logo.scale-200.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/StoreLogo.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Assets/Wide310x150Logo.scale-200.png delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Blogging.UWP.csproj delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Package.appxmanifest delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Properties/AssemblyInfo.cs delete mode 100644 samples/core/GetStarted/UWP/Blogging.UWP/Properties/Default.rd.xml delete mode 100644 samples/core/GetStarted/UWP/Blogging.sln diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 76cdb851a9..acb8b50309 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -139,6 +139,56 @@ "source_path": "entity-framework/ef6/what-is-new/roadmap.md", "redirect_url": "/ef/ef/what-is-new/index", "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/aspnetcore/existing-db.md", + "redirect_url": "/aspnet/core/data/ef-rp/intro", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/aspnetcore/index.md", + "redirect_url": "/aspnet/core/data/ef-rp/intro", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/aspnetcore/new-db.md", + "redirect_url": "/aspnet/core/data/ef-rp/intro", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/full-dotnet/existing-db.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/full-dotnet/index.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/full-dotnet/new-db.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/netcore/index.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/netcore/new-db-sqlite.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/uwp/getting-started.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false + }, + { + "source_path": "entity-framework/core/get-started/uwp/index.md", + "redirect_url": "/ef/core/get-started/index", + "redirect_document_id": false } ] } diff --git a/entity-framework/core/get-started/_shared/create-blogging-database-script.sql b/entity-framework/core/get-started/_shared/create-blogging-database-script.sql deleted file mode 100644 index 4d3cf5de36..0000000000 --- a/entity-framework/core/get-started/_shared/create-blogging-database-script.sql +++ /dev/null @@ -1,28 +0,0 @@ -CREATE DATABASE [Blogging]; -GO - -USE [Blogging]; -GO - -CREATE TABLE [Blog] ( - [BlogId] int NOT NULL IDENTITY, - [Url] nvarchar(max) NOT NULL, - CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId]) -); -GO - -CREATE TABLE [Post] ( - [PostId] int NOT NULL IDENTITY, - [BlogId] int NOT NULL, - [Content] nvarchar(max), - [Title] nvarchar(max), - CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]), - CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE -); -GO - -INSERT INTO [Blog] (Url) VALUES -('http://blogs.msdn.com/dotnet'), -('http://blogs.msdn.com/webdev'), -('http://blogs.msdn.com/visualstudio') -GO diff --git a/entity-framework/core/get-started/aspnetcore/_static/create.png b/entity-framework/core/get-started/aspnetcore/_static/create.png deleted file mode 100644 index dd280591f207289b514eedfc8c37fd8f4dad8603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17151 zcmch;1yr2fmL^$3&_uTsKTPw}6EKp-qpkb8U%XQcK`iXmwB!Z2qX|G z`k7ze0k(@Y4JGPu-M56z$2e}*JXFPbkNrTkhA@hDAvf2LJ)ni*JHa03;?~oScP4Lj z>7Vn1A8QhXN{D{{K!Jd%HGO}DuCYw@lEW&fg;Dx}=EGJ-fz)+%o*glj-DKC{8~ZzF zC#ScA%csh_$v19WrTxdiS3igTrTrTBM$mKD4Z(GQzR#p1t?hyQsaUYbpnkD-aAlZt zvj9~-S4jK7hDlV zXykJlg_`;)uGI+-K>a!=%N;dryUM4>4GXs+L>&%gXP=te1C#dmIjmMT_K*#AJ`9pH zF!*`H!cB2PTw;P*{pN&{hAq=yA0ma!vN_M*8^1w4_`PHKMY4D_GIYRo-+93rxM@;H z1+3gF*8Sgi7P# z?>%!X|I}+4dO~0hX$duz*|qD*&T3(+Vtpc#i+UzXNKXC4GTUuMTEqOK^7I6wPgR|^ z`c-IH;cv<;7F*R?-_z2pzSYGdgMngsR=jqypBm8^p$EUL^O8}Ss=Y)lE#A$!-aNOb zxkITsooMaQNXuk7wy=gc-#v&wsi~siOkLU9_BL$PGQvS=2?zW1Z zbrzUriiHj&nymxmnVD0Ear((0RBf18Kb;eODBo<|jW1kPid3JB&dSUi?6b6%!^)kk z-HAC!GW<#>!JJI%eO` zGv3;_sTGn~DWmbst9q|w!wHhJv{~W@OlO9kPA_N~cMLYftzckG+w(k2xtd$I2|G}? zJ>pl4ctSh!CUQ1C6sw1nC%iaUlUMfqNloh8e@c}^Uz<(gtG3M5xyT~boJaI{2xQ@W z^$Kyl&1HYRG2rj-AJInUe3sx~S$by>PJ1~&i?r9VI6ogY*fr1H`n0WAuETasN$9(#>$(Cl zTT>+j;n`m5X6KE#Zq&C1Uercu=5rCZ8!a?@>SWB{n4|tTQ$ww*5cpMXUJcj6!dc6F z6WhE)TanxsA7-NY03GS;4T4_{j4&U;!th?sUp_2Z@wfp?KAG)r>DrX!7D>~@bwPGV zqI+RaRFMbbw%b_=&z8MIpVkMI;Mwt#7j32;;0g59bCQU=#=m5wrQqev9qn}OD}Qg2 z#=q+ac}0o8XoU6&(}}gXQz8Bp3oBa(4=S4uhKc!X{%XhhZo8)@`sRv2dwE%qN|<*F zakr*Adw1YVbalGRWo7fH`=vFP%Zh=>4*u5`;C|CaJUmn>-)i; z27LDBhRyuC20^X8+~w=DurPbKR&CFF{{8G~e}BHp_{_P1cj_X!q4ChD$blq3*htgS z(%`jhOGs6d)wc@vYc>%T19Dh*wUuQH;sesg5dOl=x^B>StZLc&H7-};teW9nmiJe~ zGqF`tA-N}QJiYi|;2?VE?z|~UobhktlyxEu7hZtC3Gv?4F6(nO9W=5v9gZ85MWM8* zeC&5OXX}j54n$TnFBrGFQP^ajUB0WV7AEIOL|jNCh3-&FKkQZ+HG! za>+aK8yohOzRKavY!T0nk$QISK3v^~EI|iAMYExpF*Eggino`OF5#igrk8ri(azNN1VM<|m7N(f>N!8&)s)VH!S0whB;lO096^xsZgWHgj`$gaZ_31jAFLx0b}WB8 z^QcY?$v0-%q9;ooi$8UTt{3+wn@^+MT}=%fb^y18iqO7#eya4P3;kD8s7cxW??t5Z z)fo{XJL9+MCQtWSOuT#LS$YJr@!>?J-yQs}cJ0!bV>y_i^M8rXH)Z|j28llJ>>kn{ z7_p|+x$zqn@Gwvijm*k?ITg`lJJh7W4uS1%R2)fKL8@UFMvuX}&RKdjyhPdgvia3bUaZ zd|8&;!LE6o{6D$H8?UsJ&(hBAf`i1qC3Xl|Vo6p7XI1%(2| z9;StXN`OlC-OH;h`-gVBGZYl{8^3>|?KfQ&tA4)_iXdOdTLku+MhW~HTIvWqxu$Wa z;B+}_ScrOw9GVI6loh7dFf!D<>Rubdc=JYfQOopplcn5tkuGtHnZ*# zMh=B$x1ijw&Xnt(l-JAN4>dnLCvMsmgoC8WM4toRD*}Yt*0^&L7f3#5Y%razE>f-O zZC@Kms8SnLVx*4J#Zew%8TrUT0%jY_AN&Q0r#-%=$2tr9tB?DRH3L*41CFx+E-HhfNmcO1ar9xrIMga%sMR{umRH zZLKz)J>K%B7K`1+nZ`^*34HAPSSK_PZrv9bo$ReL3GDQQcYvMN)0jcE@;}4Rcb}Tj+7E^twq}HoImwS}WgcoiUc=McE>ibHDVw3Quki zs+57%mUsSQlq>tk?%$a=qLg5c*QhQe<}khJ6E3@*;kiEnuUOS1+rbyq1uM8L;yx6P zr~aa_{{0;UmDS!vghCi$eO^CqImfhD_WS8j6Pao{9f2C^z)TPMiV6L2+~p359$cf| zS3bPYR{qpp#An94%U8Aa2Sduu7@~XVn^{T5It0?Z1s?p2=02OVE;g_@$jeC{Z3V#P zBo2j6*m$H>(L0w+zqioV$8ERb#FeEiquD_cW{<~yWP0U=K&%wQ*2`}UQXSWuTC8RA z0D&`F#U!IvR>--+P0Bv+E3)wkR=xtbF%$`KgHp4b!Eoziw7l7Z=1!>t zYMJ=%8f3<+k43-7aH5V#BZ&c4o zSd0i!R(>XE8IOp3cP4eUqd2_$OZ?e!82OC=l9>&*0;sYU0b8SC0^}+PKE^rKB|EjOIVy?82hQxBM%Vgdv z%B(Uj$yec8a13-kzGATJCNUjO{F}_-kOqM-bM%DgmnzCRSstu!I>B)V8CCMby|PQx z2JSl6jJs3~!VH1xoY@o%SZ#MvO8>w;uduc$&tc+(`5gp!5ATUS%SDBT3*o=M{`^g2X8g-a z9sw)qRq-?hCbL-n>H}es&XFZ*t48_Mw=aWGo_$`7LrSkHYQZ>soln}dmzW4gD= zS6?rU$~4URbChE7&jJWTk9F;|Lm0sznGp%>oMd6ls;(<=xsiKv0Bv}b%3pr$$;CD? z`K8E&fO>wbYs`}czxT+*P$qNs<2A44+$R{(g3oT*pYaMwi@I__~)g?@s{!Bw%O{yokA!id3>t1v9pRrBZL@m6PGUor4}hhzhH?aXb|F)X{?ljoBTwdIYCldEMKwvV;RCJ(J zWy%!iR2cWdFfLTctv!>*@lzEJ*(8FyRbkKB_RE-YBMjp zs8!l{%O*J3CrUevOK9-U3O}+%elG)mw~sXM-9%=2;pj}GqYB`Wy||6^zqW>UZNJt5 zQ?yxoLg+J9_Ew$MiaNj~&$Z%kG|yJv7^Q{Aw+>9zEHPu9-)kCy3R9w@irj0q^%{zk zoA-2{W+Gr+7u%zj)IG3k^;gCXqdHnZc7f-+e8GM^(c>q=cNj1 zWx=5m;1!lW>MooQXZ5ntF@HJ_r-vEHxhYb=r)_zC?*Z2$JHQ+%-5ko4E1P7Vp`lOW zqFNshiEx+(KrY9N2T}+*V-xqTvoLPh@|j<*iKNjSru0N99K(`dssur_vdM#huqeP} zh|Hx1oQbNnfxgCUBKH$K&Ch;WGZw{VZ3EwNLn8s3zCL+I%xf~%feSd;o@N(HY}zic z|0W~G6TD;!X^gnxSIR3NSu#AO-?6s635Nf+Rv;*tV>kSIl+rukB>O&aPD0Zz-k1mG zx0ynp&93@h^3CCKar75mnT87Qcd&8F@6s9FbM+O21m-fWj{!#*}7}jI^|4 z-cjdCs^`jCRizFp5+8wm6X~VItG^y@M0Tb7U~c;4vpJdPJEC3ir<^jy$3 zIO1W3#@jGLGI!k|fE3XI>Jcmg0H|gSD}^e5u%{k+_;Shnz3aCWyBs#vM7wtIALf}V zW5loMNZ3R!KkUz>t1T6dm|M@-K4?+}J zf%YTX@<9vvODHFQaZdcym=#{A@|C(z>cRbo}FFVhF98 z%~9j?V&wubqS*0ZUNy#LP1|~I>2l3whe_Po>>8d>QGZKmV1?8UDXb-%)#~{;5IeVZ z`kP!hFP;z%xt(>gZMybu9{ep7Agk3ru{OF}0ZnE!A0-u_8@Pf@)LiT2R%QM#Ve4zYYtS4Xp~;%Bv+I1xh8b=Dn1=G7xlfq65j$x))TtI$@apsiVyo}}5y<4N9q;#)`Lr2-obYlGEYxODAk4^R(y z){ZC{tW>@$7F%^*m~dUsSaYz~r&H{|SV>>au5D?suri4$ygr@5fgVaG9|6>ceu`Qn zxF;%}2$_)}idw=}a(7kN%(Nc7^5sHs&sD6DvKf~&E#xba^y~U_MU(rtKaca_Nr_3B z9%?YUxI77=ZIGu7Eas>8*q<%*mq z6Q%7Mya9o@o_IW}Zcz~o+1<$)RVIj1bn8%mE@q=%er$F&7_yu1P9V@QLz{4wJso8m z!b3=7!{xSaixAD)(S*(^1QVOiwvE;SAWpP5I!Y;G{Lt%pq(}W=%%h?$0E2kk6EF9sGTb43@by zanV=MOqX-;ClQ8pOldv|v)x9xZ9lU{xsHr-HBsc4*t;$*L+tOyk_uK>ZY7aOB*a}! zY{${CHUCVb;uN!K{OXg<$kxR6+s%vKbREq_ zij%}g7eB%p3*tFuz~-SGTziw*h>S@dml(q_!bf8a?tT(olR)Nv`F8Upe7oeffy4Hh zq133WJqZQIn`sBjMLuNnB;41!!jV9VYjOT}oOQ?U_T0-F97)ebw>X=Zb0k@3$pc>7 z`#aSHH3ZS>Vtc1Jdi&zMCl5fuaSEt(H7CZQAZ4MHW=Wq|^x_L@HdRkYZ@Ae-`kyUl zghC%e7k%Q77oUF1#98cfjaWobpE<041Duj<52NQMm{y=`G@Q_8v;&$UvuBjytMw&3 zfgWfH>WzA5JHGE*rAap4yg6kXs!qloMg9A>=Z>_j)I6IDbOaR>W)c)}r(s_htsn`IL3N+xm$J%}DQ z#bvuH8Izee_Lj)Ct6$G^1ta#)RjwDaJ8i4idwb#y61v8-9g61&pU%Klr3>`nU3YCw zd{BU%0{s1*f&O8Slszfk!A~;o6Rrz|$~}+mw`$F|Evk1l@Rj2oV*^B_I<!-L^QI%1tNr}0Mo*KTVhNI`g86LiCs9xSiIT>KFLdlg^5z&V z*&0_3sXebsuUe|%f4$VYqTn_iR*D=e|31nb0gw+#;F_tnLl!_N(9@i{J_EH82-k z$en<-&Z>v#S8x66$72?*dSN!tCGUnEVmKes)5&UcN_o6iOjQ<+#k&bUqLe^F!X)1&_g@v%L)53+=*1`?9+#mAV zR^6`R2JZtOU2KX){mDFf8>RK#<1cnNM_dX$A+(~i<)}WL@0Mt;({8V;zZE#Qgm6p~ z*Q?k>FmIrbF~c^*Pd`E}Opk}RUs&^=UToj+<%VChQ0{KoB9*o$5Bb*Q@u8VKSFB(3 zAPJl^0`5%4QTt<_XY+|14@l1{RBGrh6OO}FX3A7thr2Y&zf=jw!@fNsNIvS>OHjwB zZ|uL`h%FuY;Gp!S**?KB=1WbY%xTF=EYIcSs5o7N^4a&@UgwfKm%W!*Ajw>=di!oR zVR~8x0{y>0OsdF{M!_Zy4?}+dP$%V0kMM9Vb(jDhgdc;S;lB+(|KpE;x1V4K;C=V= zHex#_xxK=Q!TLWQ;5iBH`y4{T{yq_y)=$~h%T6@89J;$6LjLoPev+-Ck`iK^3Uhid z%AT(3H4x(EONX%~~&jSB`mhhjnN&eSz|58)sKYLoa&_M=o>hwBdLAm;T>CsXB_}m4!@a95=+yNtG|3K{>J%sfsr84iM1YJ+>4gXC85=U z`2uFX{>JMxja^zt?96g|!6BjQFNnEIf1*4$ZF&JCX!bCXLv6BAXNMr3smwU z-b%E7HUbCpJ}uiFc7jixv`^TX?A33iL5$oTmZKpo-7rOfaSxV#! z!VEZy++}q;u5T3Zru3A)ZSWa$+TXSYLKcu$efBtmcTE@gKsM`g^qCf_7Hi* z(7%@uslv2VmXYZPc~NvOQAhBogT9(hNwCA(WqEbk>nACnQN9~HwJ&SK1COEN^f zag^%$`R;y(WF+iao452gSb5()=pz`q%RSrEi8>Y&*Ztm1bB&CrHbEiWbhh{Qr0Fb} z8!bVgP$LG|j>GjwB7N06X73Ql(f-U=!h8*lD`j;R!tN`WT86g!T1I-0F#j5CLbbN? ztD|*e!#B%aIcK#vncWJAq&Xolj0DtzZU?-3x&kkrH~tZmjSA**Lj9>QhJA1(NI&ew zC%PLedVXs*uoMV|(VO40B~v>ukZzh+H>{%4FM`oPKZZ9$AT`_(E|a7ut%66p<db8^_{1%Sa75`idEykfHUz-un-*5;FNm-p#^8j0z~ z@F|R`d@cvpDcn#QfCA!DY1|sTgSAiJzw<2+)!N*iaxBc%SN!tanCwKCPeNw;>T+zM zj`~`~ND2*=z6#I+nlOSN#6a_#yhF>DQO3u7D2Mh<(5IV2G|OItWzM8Mx+l-g?)nf50*Lcu7cmq(iJZn$vzUMsa#SYw!6j#d&52 z<&qFK0q}5I^m0dD24ACO3C{SP%)v?nu6m04RXue99#qP-UOIv9YDzzkd8ZJ1(^0^N z*q#UsM8KECf<_%it~>t%efqMEA{D_3zKzgB@Zwz0+ZQ=3W{5{=5VG9`_+OOm2R7GA zEejmVg!Xw{zdGR4k#S2SC4k1y16=5i{R|)eIr*%8&7RFY`a+l|F%6MY%bOQ|g+6WE z5m>oer&Q#~K&*brN_p4a(2O7c&^x>U64lu3v|%*>PG^R#Tn_KtlhB#D#*&KuS4 zTU_ku-Ym~|^3D!kzS*N7e#d*kvR4P*@6-5`iwAAhoV%qv8#1lPR=8`MQ->gHdYWCs zU@5f*sC=rFn&u_bs{@Lg+V#1*czQ+@>4i&vyWc|W+D#5i{2V|qh9o1*uXlc+vFetB z;Yj)i56TJE`z6VNtMFp*>=O=fJFv&lTHOs+q zq3f-V{Nn}bm}fMw)1({?#JfEEx8ULiR-JfLy=B0Qzx)7{u0Z7fmD<#Q zwf^;Q)-D95&dPGA_4ls51NYsQ0ROuB(#B{n^ZldvB_j=Z9*Iny=!AYOE{?>F%#l?M+e>svqI% zEC`2Xaj_MuT%PGI&RyKqYPAhwjmp~Z+ts`Vf%?fumO6&7nw8ymuZsisW^LrbjHq;T z?IEF8M0Cv=XTr_r9T5dhl@?}72q7K<_157mz*VV6&v--B$&dctIJ>7k&_f!D8cW)X zfW$e-IPMV~QP35-k3k8YP_rq!TbDaC2;CXFBxi*ZjeJAT`+^!K3-I9O$l!L06$6PM z1jXaHSo(D&?k33xZ0gVYD6LG7=#cfvQPz2@Pd zX*5gzQY=2#q_&`7JK)5;UP~AE)qSlmPOCFeF6Wfnwg_s@3?p=1!@Z9wNjhRnKzb-_ zlK)=W2tfgenx3g62y)p5QAhAbxm#z>2y;PIPPpReTq-L7Kc_5mzqQZ()-IJt#aS^! zDb(J#0OWL#ISb6=Ycz!&c8n7jHCisJ{cj@UYyJde6}X)ah8BbcLvjxJ3aXYii|SG) zRMNn^Lq<0-b(r@U;kzE-sVn1dw2TgqQtm&-Jw|B_$sq<+4_5CIVEMyC78dt`4$p{F zt#RsPyvn*^jqZ9hpUNE-sBsO10qS*c;(kC`nfh(~AURT4jYkzYfsmOHpRH#5YDcJf z5O6v<$&mYkEGNc)3DW%k#UMq%ln-#CXiJh*2DQe27tZ~+!l8eAo+?}@>#2=@aHlr96F^Y)Y0z4H zxcT#5`wLm`K``j6&;8H;SuqFZD<~;?8GQTW) zHye=T2}p%mb#n7E^0ITg9j~0fbmrn_b~|4=PfKF}-t}fX8mD*fTIpeA=e9J_QA_4+ zJ9Y9Qw{JYw(`d2@<#KO5MN>Yw_*JZ)pt`HX=!EJZOc@` z0|XT0n4qK_H+X17a^h_#r4&|3+%|4F?I|&V^O?o!9h}o*$o;L#;qhO<;aD85W_)hl z9S#4Sp?^8W`t>&2i-ED2xC4;u2EFZ)x0~Z&6Rj4nIRm{(vFZ-Hd|1WG&;sY>WO4=? z2>*2cXU1WB-7OV*4N)N>yBTk=4R9Xu*;%+6CJL(xB+kOaUh}dHLIr|VL zC@JHogJmzAiB$i02Gu|gogHC5jpOAHI0l(2h&Gh!7q{z*D7kc&YggxEpMf)Z;S*}| z;-{c~2dqx;QJs`O49~4h6P3-vUX7Q`;e(J@!cV}Rkq#=3+}7Viy@UFBrUyRwEe8-!n09 zvM)n&+TxV|oRiS7VfuQeSAItfm^Hc#q;7scmk>9FM9dftwe=>`G+p#a_T=kPGz(0h zy2Oc47pujY49O1=rM+6k%I1*-6Kp1%LgT={JU9Z}Vmu}5%WbT)f17ReNXU>DZ3K)} z>lBP#ZV4?M-C5l=XFefgn*}ndAHUde0C3%~^C|q9@Zy^_G27e^@@&E6g7WM{;WMJ1 z*}oLaRHgG1@QSolq;kSnTWnMm#BC|nX}OZhXRSNxcfWVC?ou(1>Ge)vRMB~-5RbE?)v8MI3xQ^>Z0~D{avzDAB{k~RV6TaC(@a|zET)%*af3Nvz2Ev!iP9HE z`d}aw52La*;24kJX)H+OemC@~jG+ndZK02mz!%jIw{yLEQe+;`=ah!^Ev`zo=W%#k zWqb-l(FYBNgL9My1L#1&3ti>+^FO5;w)IKipYakxDu3EltYyfC1J)4t6bd)WT0UZ;1nVO zLYoee1=^w=naMO#F?s|C#+UwckHZgBty|@v>S5Q}7D*^)N0~%Ol{S`}J(l}2{kVc9 z(IriTVN4)fxF_hEFE7+M3m#UgGWKZ@(AG}X)eSxHl9Mj3%OE2#8V3LWdQvEFHG( zH$U6h!+X87uV3;eDBVdU$}nM3ZE<0cyTDO5jf%XS)M*V-mSs@y>wlyXdK}g2My|@{ z!7?U$HSo2DJU4;$#f}#JChOkTL#Avg(pd$iXt$TFV?(JZ6UV8%$`%_YUD^!^J^y|Y zal^31gvpEz1Qx6E)T1#0J;AtnpCrkeRWT*A_`gyb{eUvze)-EE18fF2!A2IU+zbG4dCa?izD|Q z`rfQ$8XZV-xUr!?IFrJBCVfmqyx{0?Y)o)@_B`m`MKiO@*DX?^+rPy_x|^6-I9!w8 zyG+A(utZLZ^`@{ge{Hg5Um!NWeWQA|^t)o8Fy&8@R;uG+dsxm88I%z4)-!xMyoe9e z>d9K%DFEr5D1lf91_lOBUIuxF{gCeMA|l`ZEacre+7mQ`UtazTaJJ(rtecWuB3=uZ zosEO@o)Q12F?1lC#7mSwkaVp109J@3Au%2wGc$k&j*)^L8(+ z7ry&lccHATjjAg|iSkRok}OhJ0JQN23m9!d^%PLwJnSr6M70TOUxfs_S=iXDFZTWt zjN&_1syvuomGdvXW?Gj6YgZ3>C$Gp3i+F(zdTbSooh`V#0}XoU&?nUzGi06hdUv)OEpW;UMwt0c<3fL5Q`**hW|XVp*Eyf z$3+Z$S-Zdlv>qa5Wx}MLnc6@9#_Xn5EU;M2&}Ox;=pK1{^O7C{(WTNw!ABz`?`>CE zE5C_uuNqGRQ{4dhGkDP6QK8>HUN&{27^2J~2$=}GhZQ~LrN2xI-azvUr!oFP&6uHms^1s78fnO?T>QwGm=D)ylMLs zjM!EG@eutZl-4ES20_Em?z5YJWy~K)Qh=#_PDaKhJ-x#JQ*2u6gGqq=Etr_1cUpfD zam`@@sZvgq14+r1hTFwzTmpUO-ObGnpgBDEDgqRcQTO9@LBm}3dy%0G*rwCvy1@86 z(ZMZHj~(ahrnjaOcGqkp&ff` z3JGsYm3frP*={p(Lr<1~_|6frJd2bV0XOeDomXuI0s^yE34z4PXnfh2Wjooku*OPA zcaTB9mwqm3N1)uS^QePn^ko4)zY|6;(&B9=*svw0pwcZ{Dx19Eb|SFyk&>22STu8r zIA9rZ4oc9ub5kb%L#g&teb$Qt{6((UJ(VF4y>X~G=Aut4r@|J(AL3?B8oRayn6V5n zMjsBj=_#`DVqII7dkwVnQ9O6G?jVB=*IH7JHN9gbpkI9QYS)qDbM=v}@D zid6FXnqW*1DU&)-2_mOHcUUZbzd|Z*CuqqxgLix%a6icxb%D=Fd{&|<(X16dfhoRu zalBI#7yP6LuhC%Y@kLYJu=ZcWv8L|9ZPkm^!FFQ8$`&Op4E+)yfe9!}#JCEu6(~0V zSn8j7_J1Jg|E9}@Q4W@GfT|lK-9u)dg8vs9`u~pba?$qt=8Sq?a&U3&yIcga0f`fk z3fEZ;<}uveiIzXv#SxJcDn^y-YC%&0O4T!nIQOA>`Vt{NZWWK61VUF#pU+j#=i9BDhj);@!Ya^Oe5Xr-m97ya2{ z>5}(OuGMuh=)navAE~J2i!}6=?NZ;rj-=;WE{MhPxLmx9a|$-F^InpXoUV2%PcjZi z#+aa00g1v@C|9DMrnS8ZnaY+v(WsuCYsE_qEj<;!V$d+2N&uv1bK)7s=5&L_ByD2P z%|STz^GRkZeGa9wV|ly>{fDEECZdk}3Yz*&a_Pm+iAqOr?1M8O*)>ghQTI%YSwWSB zo;o{?N#%l&ZJf2*QYuUllSI`!vr&RaA4}Fve;)Qw=8+>wQ`mZ&sHQxe zP+Hhfqog|7+Nx)zvYn%$mTSBf%jz2UbSv($sa?e(&R^f{3`k&8a_~eZ&xk^<-OD>A z?IC!v);A_@jJw9v9C4T zHrE($F!0M0ipxzGWTzzT=#p6Fnz*NaNc2V`CCX)ssVF+!`lj(IT75hXx#IQ|q6WNF zHge)H*mjLYOu6z*jg(2%dnz{(3``V_4}M4?1mG4_${Z<_Imq$OWc+nm_glK;R4~;} zs@d|oQczSHCov>r7igc^u`+=HoYQB-6iq;kZnjvDn`EU zmX4CNys>=m&29Ztx3oA6)x)FB2O2eM#n8Cu8zV#Gk9_7;qeGQyldKTZ(Kwy-DSM6g z*!%@<+CcqGLK#kF zEzLMsb^OsZQc|hgrZbEpTc8%IU`H#Ls7$rXKU}6p-6U;Tr#=vQ(J7I|-4LFaW~$Gs z_Vru532jB{mYx9Z36rwu?Lvi2ehyQ1TI#?LXg_V#v{nfyb*$*H_a`1%8rR1CJ)o0V1KP%f0iD+}{3wu2>pX=UK^m`a3VJd;QC|nWKHqfyTWa=cU zds(IhqdX$jQDLV2%;p=tb&A*3ZC10nM7~x1O1$x!wN-^HI(0$^fYN_9Nprn<~>M71WWo_1~Jm7JM@hYaQTf(yIEB#cj}C zJ&N4L#jRP2eI%+q?V}J?l)V}kU0_BzF3Y!Tw5DBEKR$5&On0`@BfH$yJU0R~Yui zY8#w6{pW?h%_H@tSxLlml~ErTBC6a_F;;9dx*`Ly8%}Q7VVq6<;CJDO7My+#Z|Vb|?~I(O z;+o0cYb922V9vp$)Hp@biz4b6-1YW zDpORTxmll57nzBUhF-Y$%wK9Xmy58PAZRb*vm)2y%heBcSBd&}1UdH~a#4He#$Cn@ zM4NSgTxBuUkxBr{g28JGhm^$LJA$Ui;ei}ku!nAz|TmXp*NqsIB`0nvP E0PdKUG5`Po diff --git a/entity-framework/core/get-started/aspnetcore/_static/index-existing-db.png b/entity-framework/core/get-started/aspnetcore/_static/index-existing-db.png deleted file mode 100644 index 913e6ccf61096814c99406683cfb6702bf830e55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37902 zcmcG#byQqWw=IeUNPs|ahd@Gr;1Gh-kRS;z!GgQHYlj3UxVr@>xLf0{!GbpK?$Gv{ z-*@h~k~Al!|fcedNv)3kd}Y6qM>{9HOa6c?G{dn(o zJG+8dT{&nNgPRV`DZBF@YqYdOmX0UfO^mIF;dM*)zsl_5!;icB-jhtt;qbpE4|~ED z6PoyhFu9|W*B%^LHzPZ<+x(7S z<{^0Xgi3_(o$uEQR*vSt<8)DA7vKDr%F8?t+)b(s-GHtBYe~QR5rb6_5TvW3%wQMC zih{!B&B!t&PxQSsVqnu*N+N9cPu#opK8nqwR*Q)a?h6ifrELG9#M+u2U9Y~31x;N+ zo1G(8^QrE(qvqs^j6_k+-4ze*EaD^%J<5o_tzlEojWDJiX3IoEz)f}ZkelMx>x$9J zwu|uPH3`8}5W>H?8{*SEks-L@DMN)i8RfiBtvsuN-fw%nSWm@o?yQc@D~Ej0rr$`U@MZ$0c4JmVbC;v3Hpl>^rKK3t{pgDJ%Xovl6ZX3{~z zUK<`vU{4p%z1|^@RZ-sKI0_4|ES8G4HfZ2}md^=6SY%`*&;FBEEJ@}a&!g%A(?4NE z3G_Yl>D{3g*?t-)?i;->6QWG~@=XJDzzn>bG6PttE?xX#CCGoeP{BHo-WW&rmjVOw z!;jnKDi4wvX;ov`5we)X_+M?r$^DcoQpz`@5L2e^Lc_xr);cpHcP9FMKDMtyC!Y)n zG+1BK{QEc-pXeE+a-a;c-hN+6HnEN4TgoHIXYac3{aHkw8*B9V>Q=46YAoJ?&3OA!a z4pUW$-+Lh>BsAkhW>ef>D#Xs$EpCg7;wYi|3YWba<1>+dhM150)(S5ZI2TAk@F5hq zfN-&3#$5kM?Hm15dAHGe_H9c?Wo2b!MU_MQ^&B1IZXn@qBZ5;E$VONK_S=e;xzj?S z`kLb(>+O9IEQR%1kH&0=qTUNRq#aiUoI@l`rB|H+=y}{TE^156-z;ryf88i!^Bu)! zLtoeHK4I?uh%YKR@QL}Ol@*JfYV_0rWM7;)RuKmV`27bFaTm;h&)xLFXT@z^Poxro zd>!`f?d>}8=a6-LATwdfxm*%kZu?U{o!92w;ao3tP*8M>%b$Lfvz1T{A|n>c5OcZ7 zmqMlQGxme~D9d6I#(;bOc0WB>Z9W6tJ*qe1Qi~@+XLEDz3nA#~ov5n|W zF-Nn)LW@7lJC*?x*W240E#TW<(@6DD%V4xjcAbV$g_-%2RoNP%g1q>feI;NTDf4pf`v}Po)v>y1XuauL ziEIQY;$&hDJS?ftTt89hpH1PM4}8Sg#7$ol^y|OcUvR0+!#V8!-mT-%abCK>Tg%bD zb!C-ZB*!y9KVP(}QKf95qy`nzD`r?GpCviWo2IlX-?A9LMr=5<{nbyeGL7HzCW zUT;*HG7Wz)BHFI|PWS*M*z<*7W*2=69T9XThQ`?$)@4vzXFQM%FyCEA7iusdM4f_dYR^8vbKR>c`n z5YlRESeO(&e^8O|>CgziV15I+Dgv;(7yU7{CM0$#K7WzxNWTzP6WU78z(7yjs}=Gp zkFiu!o_Z)y2;AKwm&e+T^yDStnGQxPjDiDCU#WX`Wyy;67)MOoS_fs=avz3kYjSFd z0|hk=GUICv{l{mo_#NQ0wY$2E9#rvhadD4Rcta??0%WEAOU>fc4;tV-@bKV`%{Q}; z(=w?pHhZ#!s%C*0bMRNIU@muh>Q=d% zv-xE3=*&CLBOR2BSl=+IHayzG)@Y!2C4Ju@*7fkr?T9b5BCt5B0zT_HH2_9>&O9ya zB__cA=jt$Je$M`{Cmj&`gEf|*3$+2Zs957d(|odQ*pbD4PA@wyHeR{UN4aEE^GJ{JN;~514 zCJ#U5YHQ4CMHlI`V%Tq=aQ!qrEi>)a(XBv1>GUeAso}XEBiQ6+3}^{wJOuk3J2@Yb z!yzYh{!3xLLAAbvo1T``gFh&p}=y&50SZYB=#D!)#;@q4Lvd z!7Mpb@ZUb_fRswcfFMUPp@1$jhEkf$uQ4bz5Bb6@*DSXrIGhRx~=8n7s14*v3ZD-COmC9Os93 zbxFt)q$6Pu7AEEv=J=v()W-SUg#Qh1GnzlM<=v45fHi4fC+$NBQL{{)5&> z3cerrD7I;ZoV5CQdwZ^)OU>H-ty;eo{F&n6&?(odHb!G;oeJ+Wc6Ac3 zoZe10;D~?oBnS_9h6Q~2VRNO`1F?n$c(IR`Sq;2T2Ik(5Jb~dn&L{lqFPfyP{^`W7=`$M$|CUMiU z_u=olGh`6g_gHabaKi21$1$zzY2;sa>_GzFt?)N97GXhVBT2KfvtedrtPOX_E_}LY zA-%t!0Qz(6^709>8^8`Ug@uItp__EcNlD=ettTyINNgo%@DTS&@bt-#uIdmnHNl1# zZ^XJ^RAXeu_?$HFB2A?q89xuPIRhU**yv2mqR^i%K3j!qIBGGn(qmh@Oz@9?NPXMMJN5LHIT1v)WLY3T4sX??RmCX4`yS z)j`EkdCUi&S;qJF_nV{gF}@Z^E=p32Pdm(12a@ed+0x6K1`J z>53}99~N26?T$e8i`m1LuSh9QM`R6AN^1~>eR@s&A~ZqN=VtJAkLSaFk<>JAFu`JruZ*!K?oQh^SK@=_wm8XjHU=D-(Va>hYBSn~SvB$3Fob{iO<@!Nxu5WKgNYrZn zejooUpoisu9%1lHe1N25vXnmvITM@x;pBRrPOE*S-My0JG&D3Gt6oLALnvm2dRxN@ z5;W|<;v~@n_V_zr?$}SgOp&XY#)+hov}6zE;ka{5YV49Uhw-09m=dM4&#n*Wr{8WD zX-VL|FV}DXYRd8UZJMA<;ZsV*ERoL=KR%H$`#Cx~ZVxBcwHbDyVUzVHI6S;1nC>1z zS{1Vv!AKyFvH*joJaPRXBa>j$dHbnKk7=BdRu666Sq~jtxlVybn_vOuT^`5Ttfs;5 zvarH&tFSA zL#M(Hgbo1N=GF3S6TCz)xqOw_{B8-G^T?0OxWdmiL?YP(pM`SmZ70i7Q1x(ZhUl2KSn{F;0-EWW_Zdz=T8_^Hx-NIi%g zl}~c*E}0AsFDph{CT9nk#LmM;Wm;Kko96z6;$A{pB54ngok zqz|1Qd0D~7%XB+`9ILX}>T%lH`E8Z??!yO%H{m4Zl}rzB2!F87{8mj?@&mA|B`e`v zAvE3}NJ1VSdTW9%BJj6XJizQ9n6V|wKMX!50xfxjBdaUyHgn}p*Dzs^le&I-%lJJ| z9}N-qE9T&wy{?BBg^{bw0#BcyIS0v*Flgm&=jAcPGArMG=nCh{tM$Eie&{H~SPbfD zm13w5u_hbYLWYePIh0Kk*u%B3`%%sWi(7cbxOmQ^k6@-UODc(%(f#x@lI;VQ5Yxs* zaNE@%ITmA_JoC9wAvL!^0d}PE3?^RoGIvK*0%3`i4p~V?>bcW%y#hXP*o`85_Y~=*;<03PH$x!A1#md8zun3!k?ld0>oQj3aRVr@d z9Ai^c$>+*!#BM6RAMMU)G*Bmlgt{%Vyn-w20cQdDO_&o_iG)@}X37vb&os9mHJGj(8oTU7>{c?z$2vTDl&~!tfpr z3Xl*TRsue#HOHa;GXN~#T0T#0m+jF=8wJ>W3s^-Vb_x9(+pUnArmC+`d(5CIz?!g7 zYk{BmQ9?TWvqgf%?s(?Rxz4SC>I-@_3QEc}08s4sL+-Z}LJ3Q4XyMxeWydwjf)~u+ zRXpfx&Bs(7N?zFHe4r_)vX4?Om_Z>hE#5}4Wa>z@3J{ZFka|&87seAx{9>jg6Liw^<6tY{yBm-t{6Ok`vtY4bGwkvAv()29B{k6XzSnn{p6@_nSZN<8v6hm| zU8_KD)M^avTJz_6!xnd3sYm1Si_*{DMCfu!ZRp|~=f z$lyvl%yPr{ID>To*m=@lHQt#h9RHdC-J*4SH|3X=MTj9PRGwGohte`Tdm~-67Z0nf zjItSx%U<7mpYedEuTJ5i zINX8$Ye6r|b@s~_1}{qrj_oHhg>+nyju6SGxK=A>+k?5Y&QlgYbIQudVEJLF0FhXu zv9PHoPaz@T5k8s8wx?M|ZfgopR0?KY`Da#vPkv3uZG@PsUteFZX5-H9#ZE!@Rx<=$ z%5%96ewCmXVjP_Q-kB1tE7VX?d;oe6M5tp+FwfjUcL7T4p;|d8+eiy0Ieq?6n3J*b zR+jBD^Y41Z0@dn4c}sC#yU(p^XNU9l@Tp)nD97Q6?60%#meQORsdt8q<`x!ZQ%m^3 zyN}#;j+>GE;o^bA&{t-wj2KvXjNkuC2H;5HYnYnw{n#KmG$IWTz{J9`3i#@V^k7b} zKFjM6gjMXna^&7SImtpsVPrxe;gE|9tdIYo_0{uojDO&)Eb}TLuaR1B?a#ojTJ{5R z0n&d%vGi;nG4IvX;1<=8*%yPCsri+Z%?TOT+m5LDS>HPr_Fhl(VDKBjFOm&B*D+3C z61ml1?d1M8Ud3%^AU4&iohxjrMlj#q6B@~z+Db6j)%g?azPZo+mLOyT4iM1m-(On) zE}{9Bm`IEMJ4Zzf2FF)x&)n5-`J4=gAVFi%KIs4l0|PJ;Q4w<^W({B@?8*bsAWq)^ zQuuy0{PRyq_$2^Q%Xg5}jB|(6i|sVST5KwvDCqL#C^``=?D6|+Z+(*6#7MnRUnESX zYa*icH4(MW3v4oG%N&;vs7>VAuDOzn?^dfZez~o6qMqg#?OH-^j)(lY&^gSBjkJ)s z{__bx=sr^Z;6V2L?8_T{uWb@<06#zfv>AsU_PoVnF3}0p=k@- zFFCOX^P37nzFH0>-{Xa}_FkTAwJSsiZ?9C|ptvR3q6%9!SwFdc3=6H1yss^N=u?y1 zla*7i37@^^vSU?~ZyEo*=_QRnIcYuBsAL(iO}^l);!PUTUaZazKdOywzY{= zvj6}FZ&J$<-wrI1$ti#c=c>;*GW`$Q?{G6#^ru#cA4hXMQ*sKZrZgKOnP* zw^Ebh>CEVl6BXx}nLh)6d>=5V*sB+pmX=m>rd)3Z?(lO}CZf|ReoR0_U{}*fsIu|< z^J(10h4X=bu{uLfQ}-Cbx6d;xD}DzvEZ|c*C#Ba5Z)E9?#|RDxG|RQl8-b9<4*pXR zGQ*jaTC;TcYtU)%a>ghuNPcH1^6h2uB*tzJK0xH%yDKDeeW)Iw&Cl8(%D(G`fDv$I zW=WmR^E*x?dO8InATu_hxGuZnuxS8ndP=O7JM6Ky_PHKaw|1iYaefV)gvc!O&D7f3 z+9NNmDZTkej+17Vy+ITCp&miNL7DJ*x=Keh<(nUzG0&u@`ZuEiCoR;lEhc~$Z66Vb zcQ;PT_p@VUf*#EILO{kOd+`}EFO9+dk8G7+2DvBBv`qa-k;DFj8~@Mp+JDPftFvd* z_-vAN(UCU`@G~i8_3r&IiT8hR-2X94H!MwmZ?}l#`YlFNxcwenQ{TbIGXyV@#({^A zKmA>PcyuV9iQtj9m$xF;dAtq@aD*V!MM@(x=N?0h$-3VA1;le10#3$X2r&IMkcl|5 zNj{r77JCL{MnR9EE+ir%PY^6WO#b-V-&pMWe^MY>`v%=q$1m3f$@*_KdH$&t7|OP8 z#mPwvLnQKREhZGx-z!v@{#1v@gk{Z}? z4bBpJsri#aGi3F)Baxq!ZE!qIqU5^NU*6-dINq1|Dfw-N?edBc z>@T~Y28VY~S9-t)dH@aMVgov+0{V%+pwXhNpri362R2;+MEFP{B=gLPan-6v4{(2j zfXt@zD6GlYcF@BDNG+zvf^;>GszBgTn#4*p>+nuGMOcRTi)dihY z9BM;8AT$V-AdF|PoPA=Bh*GDQrPTRJrg#%Y*$tzy-gv~sdt0ogI>mRdWW%Xqa zX&yKA;3H$s^(;+)4=J(sz(as(=Gil@+C3QEgJ}Ei+Y+LXJK+dn$1QemAUnwB_~DG5 zqQe9grEX+oBwo&h$6}ni`PW2>&rqZO%6(IG_Hp781y}^|u&vVJB)!*jyQ-4l1}$g^ z$&aoRTj+?l1s9c(d1c%A!w7g8@nNI)3c9gGI`l<>xw9!>S0{C$Obi~ojRW5I-vJ}Gg`)xW zdToK=`{dITfxDC0ksdmlX*mIDVnZmrcjoqC1e)1bFLqIR1z&`7jdo zT?pGFP}Cjex|U;qK)f()1)xYTcs&iq^D{jjIPnGhkdZCF@CQGySc!ihogUkGK$N{f zrP;pQQodQKz}Y6q_2-rQ6`#-cL2Jc`(AnX@O{V`uWRRx8#RDf1x-(I{-$;m<*Mtn< z3ev`7eNY0|jLI+tH87-kKXhg!s^12mwru*bCUZ1f_bz{`J|3fEPVq3jJ*kZd$9CpC zT=45`i(m69;Q=i5k$6-e;G1_56rnrDqFo%pFb>7DnWOEpE-EYbyz!1xe0d>nDXoXz!zsoA zZ@dm}dj1HMHMDogB5EuF;SNntW3}9otAk&qtSg_dTC@;t>Q56r5 zI(M?b(#@X~tm%EZ8*RS|tv@|2l$zk+{jgrYzEqLv6c~LBxZPM+bE(jSW6`Nqo>l5J zd#}eDsI73`woUF=a7$ed=3M~vePkS0hq89FymsdOlEJF?U42%@%~FjRWK>0XS4Zz} z;O+<~6UFnfkwlvdM!FXMHt2zeK1m`?$5z@lU9*Qm_3|gu-_Ra>U0!PN^=Oo62=1a5 z%xQq}I@JVlzkjkhjSgyjv+%Uva@?I+i)+A>_gp7?pFU)f3Um{B3e{>0TxeWTgT*dg zZ~{h$eL2qiN$w9=j4N8M(fKnAH9SsMJPZxe)D8~6Kua>Q6vx;)UhRht#R<>hRJ5!|)o);q%lY{g742@X7@LpkISTfzGzY}UYiU$%U8q&k{2WmSgk;H4 zzx&zwVcUPwjTNyr$BK_gqd5y(=$Zvy4eUCrAuHRyygO&cs~4ru^>0_-@E64cfB{C- zbVo`+2~A(fu;E-TO(YmjOXUlO&)mX~*A1xK%Fo)(W=d`l=DYANWQEz|F(-y90Jg>I z{2&$cKcO}CKt0Gj@M3@tGI?;j>N;jy-*bNCJo0?r?74>nf`ilF0unzqhL}b&rE3R$ z&R9I{h~@#ff$%JBrXqQ{wa7Y)+vL8~40ZE*7lb$-SSmT9^DVkh2BpV)Kk<8}r=gY% zQv`ClI(ky4jk2H)m2VFN6br zm~v1WO(^=5;_rN_1d{u053JeT_E5|E^9$3X5Sz;!RB7AS9S?#{HFjL0yHiC`o^v9u z|LACPnt6<_`rS{`Z(d+D=RpjVU!-^-E7ey=8B$lIjJbXDy8Z`==$z+?rmMb}ztxBt z^$OZ-@Q!`&z`Y~zV;O&^$tLdwyTxF~Dg?{?0*f!0MP=0!?RFD&Tdk{y$Ec~-a- zajQpw({cE))KSLJws|sL;Q;||k>7jmW%9WrU{R}4?Y7=q>$4RYjRIovu7`&6CcDXa z{rSkqNt@4#f&Y3$HpDd5MWm+z5(0)Ue$>h4bs$kzI$z`#3LoKU?D@7S;}frtqOj7I z*Cv%r6>^6kb@r& zenU3*nM+##!3-M8UG&m23ZJ}x3Z6VVmhacc&Vu%nqER;;06Qi+9o6TM)2%;fUr5HK zn!dcW|E1}BY6I(U6Gz2iGG}Y{4shD*Ba5cQsnG8Z*LGgvt5v$C@#P*LW<>Pgu2Ot+x^Iv5Xv`w@WWhV%Y=lDO&QxKx-m6j8eU<)4=*6q1m@$q^_xD2 zf6I6@Hxf}>h>3S5hTi`?S}PSMKGplMa;#qKVoDkv3kTZ+FQy!Tn>L8MYsBRWojtJQ z)d%IHNjks9obBdV?)>bxjlVje zcsVh1Hc)d)%N#mnY}#{gTQf?T&Qjsb*JZxK;5t%Q`%C|i!U@C>onJAVYrXfE9|N;R za`@Cmv?m8g-*ovH@wuek8oc)V8K>j3)Yog|I6bnTY)+=TlA2FkWR{8~Y3j;S8lHXH zt7*F(+z3o3{X+_;6(lTRdO*X3$Q3`SH^(`IxS8pV>2av|#@f(ouiTchUH zNyon%F%$JxkLg70VbSzBMthd`n;(lU|!cWp%FGjdqvvBGVX7T50Z ze*b>gCf0UKr3aWINe%_&t3nr(%o`i)-Ko1WS8e~5=Vhv6^CpTJzZ`BbaE^_xzEred z)>SIeW53Pid*iy$4eK!zQLUzP5Xtt^WL2{TpoiclqoZSzcO-hOcdJ;rDv}vZq}V z@;RAxRk0mP7uMwPI>SY*21zYG2g5T(hF|2*u={geUChfh`pl9<_+kDBkL?aZwWU!0?M*^D!Z}4Za>v zNT%9JydhhfA7c<2Q`C@p$W(n-4<6UWQL@h(d${JVUi;svr|Qr(o1#KaEzd(YoJujb zUqF!25fE1FbPermWczA*b=&d!$Hp(xm6q3r87GIeSb`NP1s&tOXbYD=)g0PWIb=~$ znv~@=JiB%b#Skskp0i9njY8753ofx`at>9}X`5lRb3yEC8!<=f>IQe|oc<56%k7rq z*&iWb9&_-Wzh)}$g$CGnrJz3+HQQ#SPY|bs8v%Z2f|f z{t(4n7q~k%Pia*Yf`+0i-Vbdh)6^A$q&JyyxO3d2STy@;MmJ8P`_jPbG(l?M zm#@%vHTIQ7Me}_jl|u)&!+4_0g*|*NZK)z%iXiiP)U`|sH(R?|Wx``ERjueX-7E1WF3-qdF9)l@fwO3~8zQDzdNak#% zj}f)t@OgIHWHaVdneJB#v51DvJN#AqWAOk{s*QIXVV_3|(R{kD89n@(T%XwiZ$fA) ztB_}YQ5^4}|Dx=KQBB#T(l>o$#-ym|sF(Mh)K4I;7_I9hTMD1q&w$ln>`%$kV9|#bB zwZ@!9iG@<7`vv6Vg@g$c!;ot?PqmNUsf1=bswPdSazT0)9i5D z>!U&3pCbN1XXKnWU~4WqbXGnUyLaW^mrk1UZTH~J%qCxHim zTi1t8Ko6Du*(U%qT|PwG>mJ++N;Q6mvu38RS-$YeD-ofN#N35}o1?qm&=RiXjcr#6 zpfzG-7^BMU^z!^waP?UW6Ix$Mm@_kmb-8%_y-_87=GkhaxtuK_u^D?Bk5hXse4wuPnRlnVKsP=3-z)2?j?n$H5O`rSI`+3-4#uU+B7!$}6h zn|l!el`=GxNn30&L7pVUFADk3P*7vyIxr2XNFArMLPQuZHQ3<<^$VGeac!J?9xP;< z+$kYtr%i^BvXLgP$Oeyjdj>>A36jV{f&T~B)+C4|z_<$5{}Gs=*he8xeY5|EBP*=q zwHVjkxXrFlAxA14g?(+)_h(`pt9neDpSFDxdqMExGFkm4b?ou79~Z_Thl z|ImYJ>s?=vmrmmUuXVKlLFe7Hl70O6(fK*@uC?XSOyT4pG8hcT^T;Z$Ek8j+{TIRb z-^927&H?_raOOYZ+5XFJqq6agwXEP+KM*z@_T;iDu~!@@inx^nA`@A4wo9y&(uY4i z0N^%FGke&2MK&KIUmbO6pA+tM=mM)~#}qo455={i4fm3juk#I_*QzP(FcB|A_M)?y zqG&2&nzIo)qzA04Hq+er`#J0ECakBmQ3`Y=LwC8~kL7>OH3B`(J{I%cuuF2h(Au!T z2OC`PBdz|2#Tj9%FUvz9@?lo@a^?LQXJm-B3=5=%esg&*w%#`$a)Q`hVX|0Jrnn#OL7XF%90m#ok>xB+KkXiK)amTR+()w z!unx{?6ld4w2wOkxax=i6m$QiF}!+jZ&m#v+C$$Swum69G*O?tQLPNd2(}c z#Sq!wO$>DC)|z{*^C3k(msmC(7k@$J6BbLW@O@rT)n)`g975oN5^#YSE7DkzU%*KQ z!!*J06MlHi?ycu}Y@~`$GUvQ+%(3&>See*0e>7|t^cxhEM;>lO*&vAa6ZDWCeR)R@ z&#bJ!K-tVp)`3eT5I$UnFcc)$L?Szq(ns@2L`cMNwj+5dIH%xM zJRL0I`dsYZWz_?WNf0B@HhtbxsNWC+f}e_-;0c0mnPTg0vm3MTqv=WjS6;IRoNzso z5$KH^;uZltoAt;--1Gy@&|f955Z;4l`5Bs!51h2h=#DTO0lOsX)~%!%j3N}St}lVl zHzRj}_tcQv8a@&a?@NOgU$c8Y=Y>Db7QzuSKiBBW^-qXMwIIEXfcY`CUvhGeNf=XkMQSBCCR;~9jo$wk>by>}d3g4|xNZA4*pXt4LIA$uvF?}W|CGXrKiG29wA7(`qT zjypX!$Pl}%(7GEcjDCRhf)Vmt0?yDFtt#CXs1kf9dJN40zMQSma`GE_|2MpND*az> z+axYqfA%s3?uDC8Demso5O(8`JB7pBGqpz}*fetPi4f0f5_G!zO8~DN=+XxKk;#03r9BfO2P{T3y^8Dd+?sE4F*5Z5MCDT(b}EgttRviVyh&@bVOXt$8wN zn6pVoYfIw^>0O^UZ#!++=8453L)?Ln!iWy%K`#CXPJ}cjxq&V10Z)rpyg4IT)zgy0KorYv)(tf zd+^?KORcd6!`x7(C)vx9d$;Fy31LNm&2<9$@jS2%HVS^#i5!th%bFgXgPjq?ZDR*g zc6G1^7K2`fAa0ZZ*Hh8{2TF*W^=vwSNX>F|2$;#G#CiCz0}^R{Lr2c7c(O#g-8v~| zaJNVV`3nr$s`*}83ApH+-I;K0f4Bp~V7zRKsh8`Z`w=kz51cneJkDS{p3b}00Y8U& z&jg&DdC#R#7m-SRpMm< zaD}w*RLE;4jd9oeVs{$+^If&&wm+mAJ~^Dj`rw1l=P`W|yTiVe-gvx`Piag{ui}8` zTulE-CL-0ckg370GCY#p$EO_i8Kcr4)G){MWly&8vK!T4Ez{I;?rZK2l>`UAFylA# z;*a9lpF?{+5hp#z=-MRotPN|}$qlypdTPuX(s_EkIt#`9!_IS=x8#Y&F(%rkIWo)A zx&H0$FFP;G_scWn=rP>xyM||f7idd6N$mQ`{a}bzd5QVytDKB={55R8(w3Pvtih{M z)z%2V`rX!*X7wiqEe%^&8lrrfFdCodCWcx^DWUk3Qq5l;wYVAiQ^)}f*_77E`uQ3f zH0m!@eXOkGB%#M*z)dZN({+@e#@$=pbw^`i%> zqiv5#s*aSXC#kOSdUuU(>l_1Ih+B=}p{k6-| z4HI)(S0(|nMLlUc{i+kMU!o`8T0Pume`*ATN79ya1PBi)pVdC2V4FGPUwql$B2{A} zS&q3|TZ$h}5)xD(rLBjA|9^!We{PV7rA)N}pLj?k8*`=T86)5hGH$%kA+v>>>nN`2 zPwaiDa*h>Z{r>!G3h%qI`$VKE->p!y=(Z@*L>fkS+bdmoh6aHdC}P%wR9arg@qV!p zCC`J>VoK4TYXNn}NBinj1!^sG07Bn{Um+i{_|xhH!$&a?F&8BGJGaa=RaAXCK(to2 zI&@HbHgRRRW(XyS>EuMOnJvzwN|-o7IDy94g-?rGS-+jlI3=Em5{q?CN2&1jfPL(s z6e;G4=8Fb%e_LM4@-9NL)R_$6a26xCv-!q2(uTirOgp={Kp>E9O5}q(o1Z;F+k|XA z8n&R&p9s_IgTJfn|2=S#yPK{Ud}QcOm~r zzCQNmOXNd$P#RMcj%ns4~cSK@7>P9(rw zW5{Q1dzz$Cb;m&a+jt^4X7POzH3zE&0(o1fl;qM_tf7LO#Ye3QM_UF9n!Lv{e#H3W z5(7BgzZnyGk)u6Y07{|zBUUy4|8Y2NT@jyav$AL(*Ycsn7a>J@915byv<~@J-~8|J zYmm~1Z;JmKt^Z^B#D8J~sTIhyqT|=Ej*k`0%HJFUaVwd(Dk3@x$mlCDRu3 z$-=Z+Ra7XqMrec=yUn(J38dvjV^O#S!*PW8E1jU~MGwlDtePIHjjr-^OXY*!1xdr@ zmifW{x73T9ufDX5+OO|?&-;6V%YZA8ZTXzjeR8|%C4)7#uFcX<&$`lI9nH-xZz=f~ zt-Y98zuUWCmv6nPD1-i*3Q~_n)bp`QtA6kiPOR@=oV5-@6o}w=2#@M5D9+(&Y|Hvt z|2X=o<6{;l;H=TUys-p-jj_mHPsD3Qn`n{!X`Ah6ZRvG^tQTeR%gfpPC;BS2vuM{} z7LMbFz9d~3qlC zM7ZAqDjFjXdq2F6I-nIHsJzZ^xz28F``zsjU7F3lPki_+7@^|B(}W*Tl;Y(p9cBpK z-r32T&4G21uxgasEe<5z^8MDU-sp1Y)hoO(O&xZ*GxNxKzSB`o9UG+iD}h7KDCnl3J>6xY|1f?i&)zJE%#K|kX(4X3WQHl(%$+fMxKW(1vSyT&X5=7T`>Fa{ zRj*^&?Va$nli~b1tBR(G*a#85A>%jboeO?SVznD8=SCNQDRj;|c@-cF3?nz4YBt#- zY{_)q0mmOHdcUj1MK5$E909)_3(%-mED${312WelpixM^TR6$lHoX@dh)9R7i%i`_TFh!?~)C!PND- z;2GJ+*hn6qv6iZ-h90V1+M`Ia?Xc4K)*TfFdC46qSk^R4q zyV4?Km34?(3&B%6<&&&h(|;BioSRaxH1wq*C9GLL*eVZ?w%pYGZte|#8{()Um6x_+ zBm}3TgURe+J8!H@M~z6C3C$oZ)%4WS_Iwjsi#w@IJOnn;ONnaqzV!QomsNO!-T~UJ z<)Zf$!7Cgnj(?X-^c_b4PMIs!z(HpHFKUBHKN534;pt44JDSIG|CzTVuSQpSRaNbr z`-uY?^iM^%S{%CVzuW4w0A_=lNmA>J+Jwg1vs_7cw#oGdqR9UR7PumenR@rYrHaj; z(gQkD8)&RqIf_|HY;bJ4QH30Rc@?UL(tV7i@l2gM3(y<-_23+>mw0Szw+;u4@&5N%yS$Hy9i{s=Kn@J6o&D;6}i8Ow`y7?<71QKFsIx{y z08#o=wuZ>F``i)L$Uy- zSJdLp|9v>R8>>;cux*4V`aoYe|@k~ zUKP+HVR2?Oj{E7ILwNt#Gt{^yb$TrNBiwDXbx+s$W}SFJ+QF>kDru_XSMU2BGbd;> zxUfX;jxb5F&&`X+w$gd&Pv%pI$W76u@@xUKT8E-0pNpCPsJvqhZh~4s)I~L_L&W;h>+y!eB zM;q42@kV~qCA^M=Nn3?tybF?>CyD+$(d>F!;torbTEx8?`_jxTG6@>;{o_Uqm_dE` z>EYScdi{2Fx9VBI(MiBj{|BS|&#RT3)-h^tf1iA&sXD_w31J{<_id3>p9!sN8QA#2 z$NoE(gPZOf2|L!|$l=#l!6{}cvpNLN!qy47DPoI~5@y^}3rYw+ezlGIC5Y%0Bej

_}bl0hh3@sOf>9uI$E$e?gM6(L!^Qq27PVmpe)ZoS62<7s|D)+dw{>OPFj z^mzezshS`2kHj+JQyrngXgdwlc2zkujXIT&ARoNrbAq>e=8cXn5-PSHm;{&^N_D|x z!h6^nF9`TBD(dZ|MZT)5f|qsmNFu51>O~SrB=}p`)SZdu-JJjIb(anz^3q6NvE;UA z4u3T{wyy6+9He7`X?7}XnQXAioD0P2CEWXexAT0a7A(`ZKeq$Mp&chJhNZrX9^PcS zcxhLS7i*?A(K?#BrHq^JQP$jrNH~f4oY6>}lt((a^g9XPQ6=IyZvI>c?=P6tIOf}X zJ1QQ`hqCua7x%%#lKaDRs;?H!Bl)XP32TL7Kh48L?fO5}so>!Y^nV=7Hep$v^owa!EZ?4 z=SgH5`I6Pc*@|w*b!)aA%GSnE;Hr(y+NjLKU<#Ejg_^{(x$6= zG|5!4K&+XqmeuP^2S%w^qFKY9mWJl&hho(%Su1OTx$x!{C(I+XnVSfbEPKvW^`(XO z0s+<8BotlZ8`1mGaGChFU5|bZku&*e|AxUD(X*LFCj61@5Pd_4GG_H!ubBG9tK!Am z9PKna1da_|=y`caI&Iu`{EbXDkB-@C-_lE-2%44SYSM%invsUrbZ-A!Fy+(7|IaW* z?~TWirHjTMNx9X&ErFo!C^{==K5T|$LLzD2&HbXKL=56vrBQ{!LfowRK07@0mUe3- zNz#RgPko0Ahd8VTmhksQluToq1)JUFDA8xD3)|{T3Op)jDLlfd65etlPe$mB)2e2~ zP56?`htzvCASzVW$N~GXz_=3gWVTbv!XetLiyhJH<~{(Y&-YYOpx43E2xbtpm8k7b zmFoXw&}j4zL(xAR#L(Q<^0MtV=CI>g>$4iK0x0&|(cgpRqT91pC)dAfxi|;*gxq`g zR;TMc?0;wz3)4#@G~9+CqeMZ&zu1uyEgdZ)yvcxQrz5O>>x&)zlvs4_j8n2G=Ejd1 zYFG*4uTnI(j&e%CUm7oQ0~uT2ZfRKz*{}Z1zuPbV7kt_FKs#!EK5jm!VH#+RT3_;A zcuEL`-{EqG=yU6NZQsOhyP4DtcBbx}xfe&^;`o zRRqmG71xIa%`mpSWEw!2$t&ppQ{G!eWwkH*-zZWd-Hmi3-QC^Y-64&Hgmg&PLkLKB zHsZ zkf^1GJDK#W@be~awGiVGsfp~0|ddDBkukrOUI{iD1D7?tfz#5O#K5L zhTXgknc~!3sA1pDWjVj)sGmS&!TN+u{~y2(6gBssz)n7_GmB6y5wU|kf2qWw@W>;Q zyj1bAZr5{`0TQbC5~q;ZJzi({Wwn7Rk}45O$>;cI$|I@8>-Ex(wkBB&3m%H*e0Z{Vl)hx5u68FPKOU z*GXbo!M*BCsydy#B08RcnvXkDxId*@6DkB*2f$4_a`+=SO7ds9D>2*3vPN~4Jmr8k zFw>ua&jJlDr3{|%_khDqBH_5mr81mjJqvxa)_k-vBoFFiGZS1aV<1=Ug$xy*^DeBI z_V^ehFGrHO%!eOQ8$wb+lnpym;E132)l$QmYraqMTCiWy%~PPp!%)H}4C_NTAvr%u zZMV{5IA->2X<-r)%$b>_RHCp$pk)a;}B*p0o(AA%<8yvH}Qod-I7P4&Ii+I;2LL?>7F8dv180|!s|wG_TgQ}(>=Cr33Xld zG;W>VwFZzVWF@sM6rH74z^$lG4T=UgaYdR!acscuP)#I4yePHX0%p3pTC}lC8(OtG z$LL@QwyK-e)`1-9*o#&cah2hI;$RSPMXX$lB1u%IENq(!f9Bq$DG~+BBKz0UO$j!l{yeA^P3oPcW{qO7~ZwsTZM+)?sWS`Ks`ed zzE{thdK6-e%MpANu479pLkmmyRlPpUKEg^#0D%@(R_JHQo;v5M9H0Sp?3)SznC6!7 zfkB6D?kl2fshZrozT3he34m5|4<}_?aMzLUR#mhG09pu-{lQD@Q2PKI@mKXV+&kr9 z7=>Xw4_>)6=1+GQ{+6Js#=csb$;rJ1b``*U`jq752@`YE`3ZdpAfSMcPx}R$2>yen z^aPr&(_~`Yq-!r4M2;F8`ITW-!#tZ5RrT8jF6vMhIYlJu#eR-WY45#Bl+Rf;FD;%L zfyB=6%flw-C4FELf1@U?o1ajVXH~9h>BQ5(F4ye*u?lV5lq^1;YJ86O-?P#yE+-XZ87Rcij;Iai_ITT)Y5io@rt#V z+*igKT0U11?ZsmC<_Wphr*)G_B2!i9>#l0~Bz#?@4!WdM#5PY*EaX{h1Y6787>q0R zT8g>9WAxf0oTPKf8N_{hg`h6NVO4?9?!M+}St|v`p3&{nw|7Mgwa?aqN%Br+Au!zc zTOnMNXKN;-LStpkWN@vyPit8nD@`Ux!EYUj;5mzZhs{E~!ov`yzUI0Irp2rVuuu*ftf zUewp|tDRy^o@=r+nOSQVmciDkuEBz{9vKeIGLLWaUrkewo-IXPQqV(V$tR^@`H=RC zBa(5(B}6%WuC6Xr3zapYFOI2O}{ok7_cHvl7PUjK``m|YqdfOKy(FqD?_B4Y2X#2IU6W}CP&i^2CLiA1Ov*oq8`A1Ty| zX9|@(53`}gD>#2b=Z%FM)MgZhpB+Qcv1JnNi~lS_nmcV(#4T-yMV-wQP>tNP1Bh@; zE>fH)xeksmOrSj0MclIpB)>QZoMN1bAlv4n5LBId5L*WIIsGabq3$v(eDAzb6bsPp z3tAca7lkSEPxbBP-t3>XYqq1mm*3Ex^Q0nL9^gBz{R4#MLn3?znWc-1d9H@g;TD5S z1e%l&qnB|sR0mKhrm>T4CW9r7UtA<%ES}0~o4M{2Fot4Gp;m6{n^44bqBB#cY8Z!q zaaN*mB(!|Os!E62w>br|+7hIFDKjgBNF8U;(yA_*{r4&n`GZRI=_RDb181#!82ZU9 zFTyf85Qd$7?LgW!AAAJ6J^6@q6nYDdgUdWrX!3yjK@s6Vwkg0!^$Bez`GVvq> z%f3OzLFz9frcHrwV%_@0PN&8C2K$oE71D=7ZNk@}?-D_rnT z*KL6JUukTeo$k`&xrlqoNOS@%Wwsm&C*RB!IzPC8RlO`#oU8RXgih3zkf{8HozEzp zt2`^ zm8GNGWHNzn?>g2{cUyIaqDp#$kK`k{#vH-=3dSJt@`LG9l$Nj*5QNFxN3D<%s(Oi* zWZp_YReI0!a@!ubQzWd~NCcijr6;0w+_pz$6^qz&{1I^M&25UOP~wccs8Z!_+suC zt}=*ai>(X#r(7ima1}L^qS%QL-n$XEAdF_MvNav{z1dmzhJ7c1stVp1fbToRyqj7m z0!JSnutN@2{&M;m`A!4za?>%2Cu5ZK@aC+-BRaFWl*KSu16`#BEjnsPcWy%-#+E`-*vip7@|OqU@P9!5&HBZ;38^vu!b~2wlnTl z;mnO_om{6g3MpMw1{xACJI~hHsXA5$$%vj6VV=y|RuF$Tl5?+~MUhPudFJRRzOLW> z>XKbD=Gn#bQO4KfDyj;Aky&_z!9^(as{uJLoH<-w*kX9f390(}s4+al6tMbV{i;Is zu(XL#0GS2g4d)fdN8+o_qU;Z__w80Hgs?Q zCcXF{nrGR!Q^Wu6llk(4@jZnHK9zG-to@$i`2J_i_S1>2T`-i#^Ak$_1@uK5iQS>e8( zD&UO+@(XE~w0ILetkjjd1v!k=^ZA)8JV6&%(D8ItTJ;U@C~CR63Q8q(=z^K=hBmVykqvpsJIbgZ2SS1P+(;=yPJ8y`ah|*Scqa6)vGZ`9AQ%?lT@osz#e0@YW9VTN}380 zZah4)U=q!WaByp5m^Or0zJk+q3&RHKFWvYcg=sNFF*dKho=kssDD;Wa6hA|O2=jGA zLxUNM`D^>`P&6yhMa8CO;c~B006nq&_fvmzCI&VmD>aByN{KSD)fGjB1Yrs+bqPVNCNP zu4^E$@sJFVAH3x?sqJ45s}nFr=W1LqqNQl!O0em74Gv}0vUyPv$WtFnTOcw=?pyQ1 z26C_MV6apuFhn3TV0bL-xDngi7ni048cWB^qN7{hID1gHiq5+F;8-;O0d@@ciNp#_)DB%_Ur7^v45Bx3>xPE21`Z(<6yk)!xc-Ma=9|t0x zoTLB}4zpx^(te}uSso;?w^Y$0UnmOy86c&l4g+B@wvsXN1s2^DZ3v^2$`J>b7WHKkl?|lb3$w_cHsODV99X;GAP4Dr zIavFzkP~;I-tlltuHZN8QFx%DQh&Q0$2K%z;g4}jgArPv&$!VS=@9W^jwDO0#I;{* zd~7Rc{Ir*C^d0eaaVLrk30iUXHxDmD<`+s5D_jqKFc?`%i0Jd>EfAArVD(1*lUrB?u&OUPY=9e>IAaN0N$ zs&bpOcnoqkID$cYy9$bYPym6q$u~goH>%ls0y)PYO|c-yGW}{q9eFpz33ce{Dy+na z24w1iL%J+jFZBP38pNdXQ#I(4!&;EA$%C+|LVngf=5j9#dm~P=$U_l|hTH!(Q(S~T zgH8dBg{b7P;tGhZSiP4TgwhuoXummaoDP0&s-b+YDlBMNFDxy(Q9w#sqho4e*%gHj zBDNUjD}Ni1GA93iIx%IQp(?i@yc`y=yqO2q;m$MO?5<*8D}>tizg0)kj!k7cpOO;g zD66*f2(V7t>xKl&_)pQvB^UpY2HJon=1`eomr+x9xW!ypV%gg@He z(mI6%<7^QBz@3DehKP!qOHr%dzRxq6fuW&;qoYJClmJepCi0Xg#ov~llSqLKWyRU2 zuyDGmlvDDfB78C#Ld2v-C9ZRaaIs@3h91XS;`^A-fgue2Bo`)WO(4r10)P$kGQ$s0 zQZKI~{NR=8cl;0Iml20*TtJz50~z>K>2yE8#|_NqKrP{pf*tt5&YK_N&;P3cPw!ZN z{(0Xra0f_!1CxfIfyu1c#L+_evdTc1LS}Jp6Io0WheA8}mNprir%4zi`&648}H(Twl zK@HRkee>;w+68hpQE4x&%A}FSh6@w5JQp(F^Ec(V7?KTTpI(JsB5W$v-Q|csiJgrE?J)gZTKnq3lVB4;Y zm?4i9S?YgEKd)&|Q$?DrR3Jw;urG-pZ|7^NYm!XMnJ|S`g;*Gur4M(4~ z01bPET>Kq$;RTO*g6YEdj(I3U?!DFAAmi)zU&rzWRp&fTSc3-*#aum#AxvC*Drx(~ z(*6mi@Qx$?Z!twUu@6X%rJ}uh&=-Z_G0xih2h91LyB(tdtt_qCws3@(pcu_s;Hk)A z{7@dzS_{;5CF$6ruuMG1;N$yD1S#vA^|6vIEU5+VGhxLPZmoUKz|KJJXn$d+-DgGc zx-fjssh3k(Eo&Fi@}{kAdSD+EXF(mW3TBIZJy`6==KkmTo)3ONOqS6~&fPi1gXc5N z-~dBoBpyTKCG$brfmMws+PiXYO_y(Jg}Hi8UJOu$i?HN5k%Vv}&<~=%lnFA@qnkZQXrLmwuP8#cm+O zuHpyzV^_DSrKK1dYa3x)O1b6Ui_-SRidWD=V#dtq__ZnYHY~*W7RZriY z$NE{${|B)1dqw9Du!FiQ_(Rdb#f`FxdC+ty$rYVWbi9TbLnKY8b=Ec-<{{6o``$iI9mmTf~MQQW)J;k=vLWAZ^$bt%%N zQn@v%5*1%h{vcf)`IF&CJBD5u#1NYkR5s#|6tzWErotU}$>Zas(W#l5dlFAsM z4q^DA(dKGmZ#tJC2@S&J@0J9=5yt2-)#;y%iJ7OXVip@ofzN26*i`}~ogY+$yRD5o;*V8%& zS&rBhPQa=%x6w}NnB5v{hT31Nu0_`G_??`S!244uc1= zLWs?#254Ikpn}~SEHvM`3_OJAk@4)tb|EgzYMOb zFs!*RWS`ESk#c|xHf;855L$*F62^R@_PNo!50;&D8Fu;7ai!L@ELk?wZs0hC3`Hm* zPD?8jrs2Xko5wyz#of61$2ir;=q#-5jpvVu(d!HeP24)a=ks7K2DK>-a`R>jzc_RX z#IVu1E=haOf^1o2;w9p)VctnxN-9zypbG?(V}jgH}=xjs&-B5l@YN%o!-%Ur+8k5*6oxAA{F9v0>Dy-7KR{SvyU+~~ zr5;DpbIXE-+T)Kgz$&ilwvq+1yrIhEkrM8JZ&2OBvjtIihcYtIn=R2 zH_9P~o|>U!5qmA6_TvU)`$ojWia5AC3%DIUpYcL*LFsyGqFzRyFi!EeD$!BMgG%I< zD)57|uF{kAW7#e{!f|`oJU`gK;ly@q>)>$ahhg?}7a4|6SwnQ@8hNmNB1N$GWBASt zTx#rnyV-4OJoA?ueOw>1G^nuoGH8n-(~s)iK|q;;^xl-ZgC~J=8SpExiG@jEK>Y|9 zKUf(sK9oIw0axiGr4MlB9Fa@WuLdE=Xo|fTfm4><`O+wV+BP%q(Y@!>^(mM*$!h;H z(!awE1ib$OU-nlO)K)G=BqUkkV@?5Nto!YdyK{JtsSFF@rm4xtBk4V}!p87|p=kzj z2&=;uQ2D6AFyaqa>4>S{B19eE(pbh-X+BGx71n=#G(#iBlA;Ja(ckoll* zpgQKsP|T>doWk&Z@Fld={Ig|!+x@x(eQN+uGT;F)5}a54GrGuL&4Y4@3HH6U~S3eoJi-ApM;_$=3au~~sWM8N$% zZ$v>4t2IHP5#Y(BrJNzAU-$JOom~m9UkIUiX7eknUEsWQD+kJ&cLWQy60$^<{x zu2qW}4a~VPBX?`C=t47_{vE=b%Wc!qZnD~Ah~fRsxjXd{u%g!nPw~ZjlZ4zw#?$I6 z?!O43D~3@hgvbkPl(wSb3f5{WgTZgEnR0TZh&Y65rg5cz<*M0@p^bxo%vC4=SM`Ta zD%{CK?Jz9^W5d%$ZWzOytgNzhTxkGRQ5npFHKmf6pI_|y1e~3M-aKTnpS(uz^18+~ z9wB!MY5L~5uWL+EW)*>Hm>{BJCqhEfsK)9ppPO*JjU;SZV<#OZLmyZ5EY2v?w7dt~ zji`*Cg=N@4CLT&3LtVFrAof#8apt#Jd7eoW%JM|tZzmzyF?i4*eCin2xMWv>NffoI zrbr&7HQXx+#iUbw#0f@sBv82XG?t{t+DA7sFtRi=%e?)0*u>iMj9h(675_P2He$(b z1v3qn(3Nn*5wrOkpjx+|863cJiT0)>pWkW?%H;Ox3eBZ*VlOr8sjo*cI>M z05p}lZxB0nM3bf)(6Q+m!_Dal=~jZnYwA`prv z!I{grv1u0hUgKt(R z-p!HBcJ7U@7LYUzo2=(L9lBilAo55Es)SpL65tj2ut)srYN!0CeZ?|@QrkDhZO zf=Ri9Gf?jB`BE_yTC8SSFc`{ex#K#L$-^s{Gq8_tOGgoUFihCta~3jvYzULNsWxC6dbMiG!{e4jGv@ko9Gj;f-Smy2JbOO`gF zq-OtV0mW}+LWw{dh z;@KvSM4M*bWSU)7RkyKeKci&YzEnvs2MtrT(|k`@#>UB(xd?S9HRJ{Qf1rH z{LiJ_mT6m|O_&Y66Y(^rj9{rtmm5sf_-F)VZ~sDlBE3#J@ED~Ts{I~NgV5zR-6@06 zcPeq4EtgzUdAVkTnA{zCc%cs4e;8>3I>pP%8dSxRE;c|oG?ubdxRB7Nl?JtQ+H+Oy zMHv{%n`b(HA!;rS)FXtFq81cY(@U{uK%Jwgnkk0GvEgb)+I@f>%qH>Q<$=~QH!np6 zPcD))m3pSl7w7Sd=P+SvSSqY;@N9;kwgB&%X|zN^Vea~yCe;~@YaG3&jl;6KY*S_# z2-8n%2?K~O`?r*kPL};W=VHulvvT`!O&?yik#Rasc2v*8b8OPxiBKvo>UB8Kfb(k7 znGp7TiZPOE2IgarEN2fMg9ZI9`2-?yA+kKip~eW^INkL-UKT37CEF+K-HJa|(g7e) z!=t}wVsTHx%s@AC%y~a}tR>IlXc4lC!bLFrTgh%**n{7+kXgIt*Qi)gTTX`i4!nnL z0?6V1na1?TbkOSSm{s;x&H6UO)LPBWWw4k3m3&gg)hJD$OAKp}sfV1-a=6Gn0lRbG z(mnomB);N<)ZZ#;jMTD!C4q~xdZ|&2n3pGGdlGeNWW3!0qqY zY^g(nNnWHf16A&^uJT8f(Fss32uLx-~T!79XX#BGz&?2N5tO#zdB&Z!{FnOKf zg~Go<&TYrSZ;&GlO~ZfuE9B(xB-lUPl2##(Ut`t3-VRS3Sg`E2KTA*-KfAiwndR#u z*gJlMCjqgS|6P{=8t&Q0k9VGum#Y`P#di>a75b*)i#-x#_jjbIDOn7A0l$wVE#@O+H zq6SI-Tn+Mq2O;(z;`iFppt7cHe7(tnHq? zF!jNL?sJ^2R~3)i{$q6V6<*#^wYw7g zw*=1~1J%rbJHj)07((`_=mW4C0Rv>B_y05#EiibJdH@U!*ef&v0iJVsQHc@*;GGq~ z2ABVT1b7^(87;jk*?@lA@4%$=CtyN;G4|z_wb*s4(!j&9ZZQG(Af5~~h2LagLCND& znB6@k=-x|Nv0nJL4~_3L!XvWrN&FV^uK9@2aYDVr*)eoF>g})>n!6!SeEJl$M;qKD z*2_4jf*92s8qZpDjBaL4MW(51lubo&SiUrEkKz+#j+?l^vSFZhyO<#wv|S5ZxmEa= z>O&wYD1FjgFzw1#Aw3@&no=37A5$F=(m-;mg4HEud#OWC9zjl4}&wQBO6pw}Vs^YPhG|%&iE}s28>-EM zxLkCDlB5MZvo<<@n-A)%pD$uGYSNapLWxyuVA@0s9&$X)eIDLs*4^ME%m-#+Gz;Kz zC0?iH+TJ@5wFoANu(JC~q1%7tz-98uNm z*b=^#z}!-WwbZEsV4VFuro3f-^1sEDF%uv)#%dOzd#^8|M|XB}m!C4u%julp8UtDx zc^PQ8Y6Qv(LMuuz+Qa0mAlU6lpw(J}nN2~-1itDa6A=Ojbd8JLKaR7Ga7V|Hji7U7 ztd>7l+aN?r}hF|Pd^0WcZK+kdkz6K3rGCs5>fMpd7 z?+UZWTfdmh?l1t0BdYt_do|dBtLt~l&5g{zlpE)S{jCU|(2U4m@Wq?Ft##p(b)dC~ zC7SE5@V5yyGO_Y%FDJBejy1=7aq&t>19GPuV49o2lq{XsP^8z9JrC)4JWnHxvL z;1HZ#YDERJPn%CtG8S4 z*Y!ft^avZllFa`PVCN5t&L3bWpi%xo(IJ9@+DO^>r8AGJCz;6JaHzEX z>6h+Z7Ah9tCI!=h(fnzVUV?W^5hx&jQx78F7pGDe`+9l9Z?6Am!Dm-3Rxat884Bt0 zK3MwVKJei_NMz?;)meU?M5e13c~3}E*hJR1jKL)q3#0rIT_9Nx2pjtrOZspToVZ8% z@hS{1yReip+TV#&4ByHwKdVXhbR_HgitT6^VEs-!?jR5Q7flCw_v`wYIY=Ctnz7M7 zjdT0uTv>ujU3MBxJpFr`fF2CxCh~+Q^+_jM&m0~L8)|WP4+S%X9u$URMZb8RTkRx4 zVwOMsD#i~^`D$^dydy0#L77c#b{)r5f!nW-Zit!arNkuL1y0U$^ifng9W`!4zU}dr zy!mr0bU^5HmD$WX=KoH1CNcAGYL3{JRmm_JfJ9eA*M;T^{}=~djmnl{~&m$ZaCTa30R(QDSMu`xKCQk2%eGa$3D-v^%0;R7Ap@Bwj!8I%eF zf<|EWnT^3eys|d}Zh#u|mkXaionyjTDs#E`@}(C@Hi0E^LqI?{SnL9GP`_w6Fh5ey zH-9nk^V3iLtBU@^T9br?SCF=X{3~ZiKYFs1BCo3Vg11RcRaxejBxn^KC8-u_I^$;kVeoFn!5k@7!JJipf}&&{dI`S^Na z@}+k*GGY9`;?K+Dzs8?Iy#FBnd`=n@oKI#Y|8LB8u>7|cKTow8) zVk-G?o@vt)pEHeLg3#U*VFHimt8IEQcgp6=2exsjP;#iXq$12gEX!?>;)A=wL^_w3 z)mX%1q8!|xFs&G%sO}(Xn?)jI%5A;cg1bvF#j%!;`7GriFP|TyGQAz4Knmvq>Q7o~ z-d5xm5pU)#HS`p8XXX%D1*4~j8&guyC0RS*rb*4UY+{pJid0=_hovUpkBMl3#@a6S zttmoP8@Mo+L(oDFB**a1RTTU+I~30r3KG{T9BmTCHu@C^#5UlJ8dN%S8XPk~ zwAEIZV{3ImpMs0|g=ZA4B7b>Pi+CjN!$Myvn|fUX;b0H4-n*!~ilyLN|x>iW60E;`mu z`)F?$(8YT*6Qb+yY;><0v1w8OryG`Oh_y_>+v&NKv+2f>-(>!7dgz3K`U6{*OOo`j zl970(EXp}wF}<_$PQ2&U(!VH-1VZ^|Ii)*dJE=cFnB{R)D-fl2>cU9h>1gMSGFFG& zvpz|QmC{NgnhG&eOb2`eo4+gUvjs3hWr^w=Z3;$f>*^pbd-OW5yjgluA&51-7nZ~P z_bQQx;k`=q7~d@FfwS0K$;ki{qU8lKR3-ZgJ#J>?N8EDzKN}lr+8FUn(xKJXXOPvR zB`B<;`}B~df$n~6sRZGgSoDo#`N-BW_0wt3O*3&TR=PCJ4Zj zxYeg0U@uU|0vNSd@r#e2nUy~*8#p0)J>PrkWjk&h3`IpFn|ZkK$9y%m&ZuwbRTjro z8qztxaST)o*~yDAn(?JCz3*R$%%ix%19wW&uoLa1ooxgA$fQQ93u>K%=`)Ctoo^s2 z_C?I@9|R@SD&{|Jdxfu@lUzx zQg}0~oRRpCb43AFkr5HG1G3}*RY_v9w$YKpXtuO)>aRB6k^RVGw`V}S)Z>MkJA=_# zE9E0-!oceP{Z`RoybOL^0qLFllW2_toC(7T*i9PnP4#@N{R+tR-aRRq2uF3L%}28k z2{R`>ByL1j`QJ&D5zd95?wh=O?YWk34Aqg_6S{$CvZaG~-lcM0Y9#lD9m+cfHMbe6 zt6EyOi_9p^IdD9^o&oq9AhDf1PuXcT zabo}N9iyUoYO*pT{qxJxfh!A0FrR{7oB5vF;M#8<`?djZI0cDD+E*-T99#8T~XI^#5d9^Vg!CCa1r@zr+1ilF7Na)M}@^0&dC9!#aS^ zBt>)ELq2`-&q}HkZ^9ChX`OQqn3!=0R~?2tr|urufXu$m}?&?#?coLGw zH%q5FPw+*@)IGJSGNQGc!P+QB=9_uY`|Anos)YeJWY2Q{ipp}lxVznNk)Fwz2k^^P zmg^=wJJyR7Cq^&PqY6da-Jg|C^sz=B1`It>$*PjxMhcI}lh_wlr?lSGwgO=MDMdBr z<_@rI3gqdm%%m&^aaHp9?so*`QI|FvQ>1{VQ)X|=reVq5vUt7?R1+ic6tB_v+@9jR z>gFN6-$#F7+0?O$sCT}TUzWqeHvMGtrrrQ80EctWcp>?;QS}Ur-Q_D)$ex^J{=>3C z#d1aV5Om@kMBEI^8@SpJ)EV5CvA`%}$oY^e+A!WE&!m+Ob;Bzl=zeNgCRtxxD$V?H zivwQ}LY2)m38&bYOqgC#%chdrMh<+5yvNHMm{fa^b2QS&v5Vj(i)?MtNyEBGwx5H0 z%2^TAew^>Nj2HXNfj3NC?s)1*q9wBLGD~`lp_s7OzN{9wURBjeLo-JQ6fT0s!gWU> za6e2c(sh_e>)9uNCo|GXZlD{B+grXM`&Jf{B^i^NGA{r2{et2_7e|UA0fH3k+i+TP zYLUJk7ne8^Hi|G|+S$_KG58!pUFVp_l9)-uRI3X{t;+HEr{>WKZY*1}r3qIgS}a_S zSMso`3D;R($`XYNAuj!B7#Cb=^d>zzEJ>0YNn-eE3Mx3t zeWIyod<@9WZEU`KuZ`AN8)7BL$?1=0qBx1#i7#xhj%*`yNG;>eV~dutahfu$YZj)W zsG&{+z56LBB(2BZ-+hjtcuqXAbw4EoA)&XbQ!zH;dwFbc*k-mwx++t##6`WI3f4k9 zwwa+DOFB}xF`RPwSy3yvwj0h6vM{MCmk?Ucnzo5NT;iAR?M~A%nV}(1!fsw&gzeAA zCTUmWp;7I8Prf*)cUl*dUDzq^qv*eOipj7C^EvB(!p+eEl@Jf_PP52{!-x@D?ZT

3ZFHjW$@>=QR*;jv#U#hf#`*NKK&+}&1Hz5ZFtMq-6X(Rcw@EAyP% z%U1%F57d55Nx{?$G&HNpZb`NVOvmIfltIKJu4+G8W`Kw!~G$-3C^I1qR zw%lzjN=s<>L-j(!)ZbdmxJKC+p9!hgrF^z|{T(Ts8E$gQCi0xS{wks&;>0ODf*KPz zcIrhqRWtN-@wy{Bupvl2FT$r{#Vo%vub{VJvUFRnu;1P!TXShL z+Z5&Xi0vcY$AV_*G}E1EiOb$VZtb+v6&;N{;F7fVorkk_OLXI8qX$<4o#EkV7@TggCzchAFGRWJnHe3qe1#UljMs)aU zU>P*hCyt{d{RM+ILsnrg7~!hD*Mz~v*5(|B)END|Fp;1@?uqHSkR_Z%vJ#|mgJ}lM zZmbb;$d(Lm-BUOEE$#_VRj{M&DIt5)YO#WtA+Oa(qTF;=($oA4q~Cw-I?Z2S`XN=V$~Y7@ zg(X2A>C3!PySO|YWaZ2otjfBhmgvbt5{{EyP#hj~J=nAMX&jp;LKx6?MSr(nw&9ox z)7o)Xq4U+%et(S}tf&zRL=m)Th~D+>oI{g(Zaz5)?aXUV&e;B9Iqr}ul&w$l%Gj;e^D{S) z@qx7Y-h3_@Q`ize@V|x&K%dxoeSe6|G+6nlh-b+vmY3g{p%GKdo<07fPejPjPsl#? zA^C)bt$QbbWqtwF$DXW0_?S94g!mv4g4I*}I8tZl&4c3e?ms!`^H(y>|LQ^g&qbko kJlP}ysHCldDf~M@N&yj)v4-*eF&AJGBC^7zg8F{{ANJJ)bpQYW diff --git a/entity-framework/core/get-started/aspnetcore/_static/index-new-db.png b/entity-framework/core/get-started/aspnetcore/_static/index-new-db.png deleted file mode 100644 index 10602282cb18d5e6b5c64c71733b9bbc91716ff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19580 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 diff --git a/entity-framework/core/get-started/aspnetcore/existing-db.md b/entity-framework/core/get-started/aspnetcore/existing-db.md deleted file mode 100644 index 746be18103..0000000000 --- a/entity-framework/core/get-started/aspnetcore/existing-db.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: Get started on ASP.NET Core - existing database - EF Core -author: rowanmiller -description: Getting started with EF Core on ASP.NET Core with an existing Database -ms.date: 08/02/2018 -ms.assetid: 2bc68bea-ff77-4860-bf0b-cf00db6712a0 -uid: core/get-started/aspnetcore/existing-db ---- - -# Get started with EF Core on ASP.NET Core with an existing database - -In this tutorial, you build an ASP.NET Core MVC application that performs basic data access using Entity Framework Core. You reverse engineer an existing database to create an Entity Framework model. - -[View this article's sample on GitHub](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb). - -## Prerequisites - -Install the following software: - -* [Visual Studio 2017 15.7](https://www.visualstudio.com/downloads/) with these workloads: - * **ASP.NET and web development** (under **Web & Cloud**) - * **.NET Core cross-platform development** (under **Other Toolsets**) -* [.NET Core 2.1 SDK](https://www.microsoft.com/net/download/core). - -## Create Blogging database - -This tutorial uses a **Blogging** database on your LocalDb instance as the existing database. If you have already created the **Blogging** database as part of another tutorial, skip these steps. - -* Open Visual Studio -* **Tools -> Connect to Database...** -* Select **Microsoft SQL Server** and click **Continue** -* Enter **(localdb)\mssqllocaldb** as the **Server Name** -* Enter **master** as the **Database Name** and click **OK** -* The master database is now displayed under **Data Connections** in **Server Explorer** -* Right-click on the database in **Server Explorer** and select **New Query** -* Copy the script listed below into the query editor -* Right-click on the query editor and select **Execute** - -[!code-sql[Main](../_shared/create-blogging-database-script.sql)] - -## Create a new project - -* Open Visual Studio 2017 -* **File > New > Project...** -* From the left menu select **Installed > Visual C# > Web** -* Select the **ASP.NET Core Web Application** project template -* Enter **EFGetStarted.AspNetCore.ExistingDb** as the name (it has to match exactly the namespace later used in the code) and click **OK** -* Wait for the **New ASP.NET Core Web Application** dialog to appear -* Make sure that the target framework dropdown is set to **.NET Core**, and the version dropdown is set to **ASP.NET Core 2.1** -* Select the **Web Application (Model-View-Controller)** template -* Ensure that **Authentication** is set to **No Authentication** -* Click **OK** - -## Install Entity Framework Core - -To install EF Core, you install the package for the EF Core database provider(s) you want to target. For a list of available providers see [Database Providers](../../providers/index.md). - -For this tutorial, you don't have to install a provider package because the tutorial uses SQL Server. The SQL Server provider package is included in the [Microsoft.AspnetCore.App metapackage](https://docs.microsoft.com/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-2.1). - -## Reverse engineer your model - -Now it's time to create the EF model based on your existing database. - -* **Tools –> NuGet Package Manager –> Package Manager Console** -* Run the following command to create a model from the existing database: - -``` powershell -Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -``` - -If you receive an error stating `The term 'Scaffold-DbContext' is not recognized as the name of a cmdlet`, then close and reopen Visual Studio. - -> [!TIP] -> You can specify which tables you want to generate entities for by adding the `-Tables` argument to the command above. For example, `-Tables Blog,Post`. - -The reverse engineer process created entity classes (`Blog.cs` & `Post.cs`) and a derived context (`BloggingContext.cs`) based on the schema of the existing database. - - The entity classes are simple C# objects that represent the data you will be querying and saving. Here are the `Blog` and `Post` entity classes: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Blog.cs)] - -[!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Post.cs)] - -> [!TIP] -> To enable lazy loading, you can make navigation properties `virtual` (Blog.Post and Post.Blog). - - The context represents a session with the database and allows you to query and save instances of the entity classes. - - -``` csharp -public partial class BloggingContext : DbContext -{ - public BloggingContext() - { - } - - public BloggingContext(DbContextOptions options) - : base(options) - { - } - - public virtual DbSet Blog { get; set; } - public virtual DbSet Post { get; set; } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - if (!optionsBuilder.IsConfigured) - { - #warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings. - optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"); - } - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity(entity => - { - entity.Property(e => e.Url).IsRequired(); - }); - - modelBuilder.Entity(entity => - { - entity.HasOne(d => d.Blog) - .WithMany(p => p.Post) - .HasForeignKey(d => d.BlogId); - }); - } -} -``` - -## Register your context with dependency injection - -The concept of dependency injection is central to ASP.NET Core. Services (such as `BloggingContext`) are registered with dependency injection during application startup. Components that require these services (such as your MVC controllers) are then provided these services via constructor parameters or properties. For more information on dependency injection see the [Dependency Injection](http://docs.asp.net/en/latest/fundamentals/dependency-injection.html) article on the ASP.NET site. - -### Register and configure your context in Startup.cs - -To make `BloggingContext` available to MVC controllers, register it as a service. - -* Open **Startup.cs** -* Add the following `using` statements at the start of the file - -[!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Startup.cs#AddedUsings)] - -Now you can use the `AddDbContext(...)` method to register it as a service. -* Locate the `ConfigureServices(...)` method -* Add the following highlighted code to register the context as a service - -[!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Startup.cs?name=ConfigureServices&highlight=14-15)] - -> [!TIP] -> In a real application you would typically put the connection string in a configuration file or environment variable. For the sake of simplicity, this tutorial has you define it in code. For more information, see [Connection Strings](../../miscellaneous/connection-strings.md). - -## Create a controller and views - -* Right-click on the **Controllers** folder in **Solution Explorer** and select **Add -> Controller...** -* Select **MVC Controller with views, using Entity Framework** and click **Ok** -* Set **Model class** to **Blog** and **Data context class** to **BloggingContext** -* Click **Add** - -## Run the application - -You can now run the application to see it in action. - -* **Debug -> Start Without Debugging** -* The application builds and opens in a web browser -* Navigate to `/Blogs` -* Click **Create New** -* Enter a **Url** for the new blog and click **Create** - - ![Create page](_static/create.png) - - ![Index page](_static/index-existing-db.png) - -## Next steps - -For more information about how to scaffold a context and entity classes, see the following articles: -* [Reverse Engineering](xref:core/managing-schemas/scaffolding) -* [Entity Framework Core tools reference - .NET CLI](xref:core/miscellaneous/cli/dotnet#dotnet-ef-dbcontext-scaffold) -* [Entity Framework Core tools reference - Package Manager Console](xref:core/miscellaneous/cli/powershell#scaffold-dbcontext) diff --git a/entity-framework/core/get-started/aspnetcore/index.md b/entity-framework/core/get-started/aspnetcore/index.md deleted file mode 100644 index cc070b4f14..0000000000 --- a/entity-framework/core/get-started/aspnetcore/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Getting Started on ASP.NET Core - EF Core -author: rowanmiller -ms.date: 10/27/2016 -ms.assetid: bcf6d28a-5a2a-40b9-87ea-19ed9ef2e555 -uid: core/get-started/aspnetcore/index ---- -# Getting Started with EF Core on ASP.NET Core - -These 101 tutorials require no previous knowledge of Entity Framework Core or Visual Studio. They will take you step-by-step through creating a simple ASP.NET Core application that queries and saves data from a database. You can choose a tutorial that creates a model based on an existing database, or creates a database for you based on your model. - -You can find the ASP.NET Core documentation at [Introduction to ASP.NET Core](/aspnet/core/). - -> [!NOTE] -> These tutorials and the accompanying samples have been updated to use EF Core 2.0 (with the exception of the UWP tutorial, that still uses EF Core 1.1). However, in the majority of cases it should be possible to create applications that use previous releases, with minimal modification to the instructions. diff --git a/entity-framework/core/get-started/aspnetcore/new-db.md b/entity-framework/core/get-started/aspnetcore/new-db.md deleted file mode 100644 index de0d608b5f..0000000000 --- a/entity-framework/core/get-started/aspnetcore/new-db.md +++ /dev/null @@ -1,232 +0,0 @@ ---- -title: Getting Started on ASP.NET Core - New database - EF Core -author: rick-anderson -ms.author: riande -ms.date: 08/03/2018 -ms.assetid: e153627f-f132-4c11-b13c-6c9a607addce -uid: core/get-started/aspnetcore/new-db ---- - -# Getting Started with EF Core on ASP.NET Core with a New database - -In this tutorial, you build an ASP.NET Core MVC application that performs basic data access using Entity Framework Core. The tutorial uses migrations to create the database from the data model. - -You can follow the tutorial by using Visual Studio 2017 on Windows, or by using the .NET Core CLI on Windows, macOS, or Linux. - -View this article's sample on GitHub: -* [Visual Studio 2017 with SQL Server](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb) -* [.NET Core CLI with SQLite](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite). - -## Prerequisites - -Install the following software: - -# [Visual Studio](#tab/visual-studio) - -* [Visual Studio 2017 version 15.7 or later](https://www.visualstudio.com/downloads/) with these workloads: - * **ASP.NET and web development** (under **Web & Cloud**) - * **.NET Core cross-platform development** (under **Other Toolsets**) -* [.NET Core 2.1 SDK](https://www.microsoft.com/net/download/core). - -# [.NET Core CLI](#tab/netcore-cli) - -* [.NET Core 2.1 SDK](https://www.microsoft.com/net/download/core). - ---- - -## Create a new project - -# [Visual Studio](#tab/visual-studio) - -* Open Visual Studio 2017 -* **File > New > Project** -* From the left menu, select **Installed > Visual C# > .NET Core**. -* Select **ASP.NET Core Web Application**. -* Enter **EFGetStarted.AspNetCore.NewDb** for the name and click **OK**. -* In the **New ASP.NET Core Web Application** dialog: - * Make sure that **.NET Core** and **ASP.NET Core 2.1** are selected in the drop-down lists - * Select the **Web Application (Model-View-Controller)** project template - * Make sure that **Authentication** is set to **No Authentication** - * Click **OK** - -Warning: If you use **Individual User Accounts** instead of **None** for **Authentication** then an Entity Framework Core model will be added to the project in `Models\IdentityModel.cs`. Using the techniques you learn in this tutorial, you can choose to add a second model, or extend this existing model to contain your entity classes. - -# [.NET Core CLI](#tab/netcore-cli) - -* Run the following command to create an MVC project: - - ```cli - dotnet new mvc -n EFGetStarted.AspNetCore.NewDb - ``` -* Change to the project directory. The next commands you enter need to run against the new project. - - ```cli - cd EFGetStarted.AspNetCore.NewDb - ``` ---- - -## Install Entity Framework Core - -To install EF Core, you install the package for the EF Core database provider(s) you want to target. For a list of available providers, see [Database Providers](../../providers/index.md). - -# [Visual Studio](#tab/visual-studio) - -For this tutorial, you don't have to install a provider package because the tutorial uses SQL Server. The SQL Server provider package is included in the [Microsoft.AspnetCore.App metapackage](https://docs.microsoft.com/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-2.1). - -# [.NET Core CLI](#tab/netcore-cli) - -This tutorial uses SQLite because it runs on all platforms that .NET Core supports. - -* Run the following command to install the SQLite provider: - - ```cli - dotnet add package Microsoft.EntityFrameworkCore.Sqlite - ``` - ---- - -## Create the model - -Define a context class and entity classes that make up the model. - -# [Visual Studio](#tab/visual-studio) - -* Right-click on the **Models** folder and select **Add > Class**. -* Enter **Model.cs** as the name and click **OK**. -* Replace the contents of the file with the following code: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/Model.cs)] - -# [.NET Core CLI](#tab/netcore-cli) - -* In the **Models** folder create **Model.cs** with the following code: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/Model.cs)] - ---- - -A production app would typically put each class in a separate file. For the sake of simplicity, this tutorial puts these classes in one file. - -## Register the context with dependency injection - -To make `BloggingContext` available to MVC controllers, register it as a service in `Startup.cs`. - -Services (such as `BloggingContext`) are registered with [dependency injection](http://docs.asp.net/en/latest/fundamentals/dependency-injection.html) during application startup so that they can be provided automatically to components that consume services (such as MVC controllers) via constructor parameters and properties. - -# [Visual Studio](#tab/visual-studio) - -* In **Startup.cs** add the following `using` statements: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Startup.cs#AddedUsings)] - -* Add the following highlighted code to the `ConfigureServices` method: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Startup.cs?name=ConfigureServices&highlight=12-14)] - -# [.NET Core CLI](#tab/netcore-cli) - -* In **Startup.cs** add the following `using` statements: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Startup.cs#AddedUsings)] - -* Add the following highlighted code to the `ConfigureServices` method: - - [!code-csharp[Main](../../../../samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Startup.cs?name=ConfigureServices&highlight=12-14)] - ---- - -A production app would typically put the connection string in a configuration file or environment variable. For the sake of simplicity, this tutorial defines it in code. See [Connection Strings](../../miscellaneous/connection-strings.md) for more information. - -## Create the database - -The following steps use [migrations](xref:core/managing-schemas/migrations/index) to create a database. - -# [Visual Studio](#tab/visual-studio) - -* **Tools > NuGet Package Manager > Package Manager Console** -* Run the following commands: - - ```powershell - Add-Migration InitialCreate - Update-Database - ``` - - If you get an error stating `The term 'add-migration' is not recognized as the name of a cmdlet`, close and reopen Visual Studio. - - The `Add-Migration` command scaffolds a migration to create the initial set of tables for the model. The `Update-Database` command creates the database and applies the new migration to it. - -# [.NET Core CLI](#tab/netcore-cli) - -* Run the following commands: - - ```cli - dotnet ef migrations add InitialCreate - dotnet ef database update - ``` - - The `migrations` command scaffolds a migration to create the initial set of tables for the model. The `database update` command creates the database and applies the new migration to it. - ---- - -## Create a controller - -Scaffold a controller and views for the `Blog` entity. - -# [Visual Studio](#tab/visual-studio) - -* Right-click on the **Controllers** folder in **Solution Explorer** and select **Add > Controller**. -* Select **MVC Controller with views, using Entity Framework** and click **Add**. -* Set **Model class** to **Blog** and **Data context class** to **BloggingContext**. -* Click **Add**. - -# [.NET Core CLI](#tab/netcore-cli) - -* Run the following commands: - - ```cli - dotnet tool install -g dotnet-aspnet-codegenerator - dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design - dotnet restore - dotnet aspnet-codegenerator controller -name BlogsController -m Blog -dc BloggingContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries - ``` - - The `tool install` and `add package` commands install the tooling that can scaffold controllers and views. The `restore` command ensures that all of the project's packages are downloaded, and the `aspnet-codegenerator` command does the scaffolding. ---- - -The scaffolding engine creates the following files: - -* A controller (*Controllers/BlogsController.cs*) -* Razor views for Create, Delete, Details, Edit, and Index pages (_Views/Blogs/*.cshtml_) - -## Run the application - -# [Visual Studio](#tab/visual-studio) - -* **Debug** > **Start Without Debugging** - -# [.NET Core CLI](#tab/netcore-cli) - -```cli -dotnet run -``` ---- - -* Navigate to `/Blogs` - -* Use the **Create New** link to create some blog entries. - - ![Create page](_static/create.png) - -* Test the **Details**, **Edit**, and **Delete** links. - - ![Index page](_static/index-new-db.png) - -## Additional tutorials - -* [Get started with EF Core on .NET Core with a new database using SQLite](xref:core/get-started/netcore/new-db-sqlite) -* ASP.NET Core MVC: - * [Get started with ASP.NET Core MVC](/aspnet/core/tutorials/first-mvc-app/start-mvc) - * [Get started with EF Core in an ASP.NET MVC web app](/aspnet/core/data/ef-mvc/intro) -* [Razor Pages](/aspnet/core/razor-pages/index): - * [Get started with Razor Pages in ASP.NET Core](/aspnet/core/tutorials/razor-pages/razor-pages-start) - * [Razor Pages with Entity Framework Core in ASP.NET Core](https://docs.microsoft.com/aspnet/core/data/ef-rp/intro) diff --git a/entity-framework/core/get-started/full-dotnet/_static/output-existing-db.png b/entity-framework/core/get-started/full-dotnet/_static/output-existing-db.png deleted file mode 100644 index 68f3ca5efd91e56e82912439262ff42fb014928a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4817 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 f0&vUg6b5T1_IGXnO=bMg9^TT-#k5 znwfq=-XV{YaS$1DJjd~Nr*rPt?cVR6`+fJ1d;dE7Tfe=2Yp=)NdwqNDwKmZbgAx+h zCjbC|kg18`IRM}WIsfA@9!`%p(3|8SuApIGCSfF>e2fTN(%L>!Lj z8Gai_p`eKj90w>2FY2#EG(bcnDL5pDO`+fzL^OkfBNB7Y+}!r|HfM!@wZA;@Kk`5(OxKEIdS`&i#UKC> zuK)URHTf4@<_sc&jckLh{oR8@u~*!H0IZi^u!^5su&jm(sG_-%y}d4at*r}AQVczQ`SDaLGU(;M5qv@w}pSG(V&7CoIEY^oic4O;GH z_LoG=^U1zy$m#^_Z-GB?V`X`v(*lI(Jun_+QNDAsyYfyWOw@Ky=Tl`Yn95JUY|Ww|F$DwKT}vYdxij) z%8+~g!&Yx*_h4cwJ{-BeyM$G7J-kp)dn>D(u6tJe;8e|thwUD00(dj_XrauD*xVsc)Ndn10$3VVH*x2ay&kVFHKEKc z)v1W};d-B1s`XkBqdsJJSIQQPl5(tyX4er2e{?NT%$sIM5*!;jjLwUw>q;4qc{~D9 zuN`P?gNezvPQk_?+qm=;l9kfivW#c9M=phj%4gYGSa$^ct}EwU+_Y#k&^^ASUYY9_ zdFa-rB?0aXktMMz8O$ewb=)cjGzTd|JgbtVx_!tkD|$o@8b|3YOl;QN`@%NT9@3)D zE$vfW=*8wDC&?=nDR!u%lVgLQqTgTKCw!cc-nz2iC4jPmWx z3o_1A?L;PZ$MGU9q_fYoc(|Mzh+znZBA<9YT+(EQVh`zA#eGxlJzbgKsV)aw2A z>EBXCv)*=$XM=4^x6-inFtNo2S09Z7+6g&a*p3()cvYc`M!0C z-Ic@=eD>UaE%hM{q{V8Fx`xpGwiVUVs(SIoxy|QGiY%3N!;6>LFG+-eBejsj=1L2F z#fNa)2{|2egjOPxn$tQMcY)?m(D1ab@AyD%hj!VH8lhDTOO$9#3htIRY zYUE4(9hZ-kkBaYg7d2E~Rlq6b8Y4vdL*$00(>qUSy((wzv{q3pa?KTV^|3`|SSL1Q zia5K@$U~QXuR0?{rsKO(KzK@scWpYhcJrUbmV?d3y(PfUJ^ z>OGCzabG4vd_rVggU6%IDW*%E_jCNB`|RUGC;X2=14h$*llAv2lCR+FXp22*OI22t zvjM(UGQx^&?BUiIrq$*zx`xgt;Nnp0T+o-eYyyjkvq12X&sUD^RF`ydZ=JnnL)Q~l zK&vx!6Tu!XKJ2m~29fo^lDS`(*--s@u%UTQ)^|kY*Wj#d;qtKU8BR#


f8y5xp8 z)MYHLd25?@EgyeBSnjpwfqwxi2d3F`*hO6%8;OT56D0F>Y_KI;jJwteIX1V8}+3Mss`3{$R^|8(|#AUXk$z$`d)i+vOdclN5 zj&ds8{Xid=P#TxJ^z`%1iXZFBq~b)~k1>iqpYA!RSuI!>1jAMvckUSf$W516KG>!h zBH^t*-H)rsa&lvrxUr1qOu3S#Kw6YA6qNQkS2cIX-|PFZ&)P(H344Qemdxu?fGl^IfbMc-*a z-zVl`0oW~g65c#K)yUJ8&YydAp86@1y6j15&O6|BT?m@Ko8J@v>~}vO|G02rMQ@=w1mSXMOUGVH>zz7AgbU~T(kVVv z4=%$l6|f#PAbU0~GEQBL=t6E!bcHSmNh}SjM1-6q7K{1E9H)oe*>K1hPmBGespGAe zwj?UcRJ6Y@I%6?>?5nab657=y7~wIaY#J||=wG`#7lRWwSCvl+Euisx^NYTa=yoag zNR{S(ZE`6P;$#MPCoH$AOIr2IU0(vRrgnZgtaiZZx7N|{SxZT=Ylzh2wEGQHa%+Kj zn`*p}e7_pH*$K2e?ly~{OH$%|vi8W32gKj8)v*7ti@rfye zK`uKI#xwGo+zx`T(04QdA-N;0M=*X4C7D=Q^wJ`EGKtA%v$hHS9Pl{do! zokjDTummsvXgtpBy3@zK1Xdsnn<4e!p0C+;zu!qRoUcRTKNT0>u6oYl`1d*BPZ^Ut z7h@iC72Wv0R{7psmsn#OaQ@7HZTC+n{Qof^Lb&hKI~Ig!?F4WtAxd^v+ZaTxmLWu& z-|<0|H$9{ZbM8Bz}m^vOX0u02a@n_tmMOW;uz-}={Af~gV4u;d4qn|}iY-0MOB diff --git a/entity-framework/core/get-started/full-dotnet/existing-db.md b/entity-framework/core/get-started/full-dotnet/existing-db.md deleted file mode 100644 index 17691581f5..0000000000 --- a/entity-framework/core/get-started/full-dotnet/existing-db.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Getting Started on .NET Framework - Existing Database - EF Core -author: rowanmiller -ms.date: 08/06/2018 -ms.assetid: a29a3d97-b2d8-4d33-9475-40ac67b3b2c6 -uid: core/get-started/full-dotnet/existing-db ---- - -# Getting started with EF Core on .NET Framework with an Existing Database - -In this tutorial, you build a console application that performs basic data access against a Microsoft SQL Server database using Entity Framework. You create an Entity Framework model by reverse engineering an existing database. - -[View this article's sample on GitHub](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb). - -## Prerequisites - -* [Visual Studio 2017 version 15.7 or later](https://www.visualstudio.com/downloads/) - -## Create Blogging database - -This tutorial uses a **Blogging** database on the LocalDb instance as the existing database. If you have already created the **Blogging** database as part of another tutorial, skip these steps. - -* Open Visual Studio - -* **Tools > Connect to Database...** - -* Select **Microsoft SQL Server** and click **Continue** - -* Enter **(localdb)\mssqllocaldb** as the **Server Name** - -* Enter **master** as the **Database Name** and click **OK** - -* The master database is now displayed under **Data Connections** in **Server Explorer** - -* Right-click on the database in **Server Explorer** and select **New Query** - -* Copy the script listed below into the query editor - -* Right-click on the query editor and select **Execute** - -[!code-sql[Main](../_shared/create-blogging-database-script.sql)] - -## Create a new project - -* Open Visual Studio 2017 - -* **File > New > Project...** - -* From the left menu select **Installed > Visual C# > Windows Desktop** - -* Select the **Console App (.NET Framework)** project template - -* Make sure that the project targets **.NET Framework 4.6.1** or later - -* Name the project *ConsoleApp.ExistingDb* and click **OK** - -## Install Entity Framework - -To use EF Core, install the package for the database provider(s) you want to target. This tutorial uses SQL Server. For a list of available providers see [Database Providers](../../providers/index.md). - -* **Tools > NuGet Package Manager > Package Manager Console** - -* Run `Install-Package Microsoft.EntityFrameworkCore.SqlServer` - -In the next step, you use some Entity Framework Tools to reverse engineer the database. So install the tools package as well. - -* Run `Install-Package Microsoft.EntityFrameworkCore.Tools` - -## Reverse engineer the model - -Now it's time to create the EF model based on an existing database. - -* **Tools –> NuGet Package Manager –> Package Manager Console** - -* Run the following command to create a model from the existing database - - ``` powershell - Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer - ``` - -> [!TIP] -> You can specify the tables to generate entities for by adding the `-Tables` argument to the command above. For example, `-Tables Blog,Post`. - -The reverse engineer process created entity classes (`Blog` and `Post`) and a derived context (`BloggingContext`) based on the schema of the existing database. - -The entity classes are simple C# objects that represent the data you will be querying and saving. Here are the `Blog` and `Post` entity classes: - - [!code-csharp[Main](../../../../samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Blog.cs)] - -[!code-csharp[Main](../../../../samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Post.cs)] - -> [!TIP] -> To enable lazy loading, you can make navigation properties `virtual` (Blog.Post and Post.Blog). - -The context represents a session with the database. It has methods that you can use to query and save instances of the entity classes. - -[!code-csharp[Main](../../../../samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/BloggingContext.cs)] - -## Use the model - -You can now use the model to perform data access. - -* Open *Program.cs* - -* Replace the contents of the file with the following code - - [!code-csharp[Main](../../../../samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Program.cs)] - -* Debug > Start Without Debugging - - You see that one blog is saved to the database and then the details of all blogs are printed to the console. - - ![image](_static/output-existing-db.png) - -## Next steps - -For more information about how to scaffold a context and entity classes, see the following articles: -* [Reverse Engineering](xref:core/managing-schemas/scaffolding) -* [Entity Framework Core tools reference - .NET CLI](xref:core/miscellaneous/cli/dotnet#dotnet-ef-dbcontext-scaffold) -* [Entity Framework Core tools reference - Package Manager Console](xref:core/miscellaneous/cli/powershell#scaffold-dbcontext) \ No newline at end of file diff --git a/entity-framework/core/get-started/full-dotnet/index.md b/entity-framework/core/get-started/full-dotnet/index.md deleted file mode 100644 index 81f59ba28d..0000000000 --- a/entity-framework/core/get-started/full-dotnet/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Getting Started on .NET Framework - EF Core -author: rowanmiller -ms.date: 08/06/2018 -ms.assetid: 06f1f18b-3267-4f79-b94e-173f9db0a7cb -uid: core/get-started/full-dotnet/index ---- - -# Getting Started with EF Core on .NET Framework - -These 101-level tutorials require no previous knowledge of Entity Framework Core or Visual Studio. They will take you step-by-step through creating a simple .NET Framework Console Application that queries and saves data from a database. You can choose a tutorial that creates a model based on an existing database, or creates a database for you based on your model. - -You can use the techniques learned in these tutorials in any application that targets the .NET Framework, including WPF and WinForms. - -> [!NOTE] -> These tutorials and the accompanying samples have been updated to use EF Core 2.1. However, in the majority of cases it should be possible to create applications that use previous releases, with minimal modification to the instructions. diff --git a/entity-framework/core/get-started/full-dotnet/new-db.md b/entity-framework/core/get-started/full-dotnet/new-db.md deleted file mode 100644 index 91b0fe7661..0000000000 --- a/entity-framework/core/get-started/full-dotnet/new-db.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Getting Started on .NET Framework - New Database - EF Core -author: rowanmiller -ms.date: 08/06/2018 -ms.assetid: 52b69727-ded9-4a7b-b8d5-73f3acfbbad3 -uid: core/get-started/full-dotnet/new-db ---- - -# Getting started with EF Core on .NET Framework with a New Database - -In this tutorial, you build a console application that performs basic data access against a Microsoft SQL Server database using Entity Framework. You use migrations to create the database from a model. - -[View this article's sample on GitHub](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/FullNet/ConsoleApp.NewDb). - -## Prerequisites - -* [Visual Studio 2017 version 15.7 or later](https://www.visualstudio.com/downloads/) - -## Create a new project - -* Open Visual Studio 2017 - -* **File > New > Project...** - -* From the left menu select **Installed > Visual C# > Windows Desktop** - -* Select the **Console App (.NET Framework)** project template - -* Make sure that the project targets **.NET Framework 4.6.1** or later - -* Name the project *ConsoleApp.NewDb* and click **OK** - -## Install Entity Framework - -To use EF Core, install the package for the database provider(s) you want to target. This tutorial uses SQL Server. For a list of available providers see [Database Providers](../../providers/index.md). - -* Tools > NuGet Package Manager > Package Manager Console - -* Run `Install-Package Microsoft.EntityFrameworkCore.SqlServer` - -Later in this tutorial you use some Entity Framework Tools to maintain the database. So install the tools package as well. - -* Run `Install-Package Microsoft.EntityFrameworkCore.Tools` - -## Create the model - -Now it's time to define a context and entity classes that make up the model. - -* **Project > Add Class...** - -* Enter *Model.cs* as the name and click **OK** - -* Replace the contents of the file with the following code - - [!code-csharp[Main](../../../../samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Model.cs)] - -> [!TIP] -> In a real application you would put each class in a separate file and put the connection string in a configuration file or environment variable. For the sake of simplicity, everything is in a single code file for this tutorial. - -## Create the database - -Now that you have a model, you can use migrations to create a database. - -* **Tools > NuGet Package Manager > Package Manager Console** - -* Run `Add-Migration InitialCreate` to scaffold a migration to create the initial set of tables for the model. - -* Run `Update-Database` to apply the new migration to the database. Because the database doesn't exist yet, it will be created before the migration is applied. - -> [!TIP] -> If you make changes to the model, you can use the `Add-Migration` command to scaffold a new migration to make the corresponding schema changes to the database. Once you have checked the scaffolded code (and made any required changes), you can use the `Update-Database` command to apply the changes to the database. -> -> EF uses a `__EFMigrationsHistory` table in the database to keep track of which migrations have already been applied to the database. - -## Use the model - -You can now use the model to perform data access. - -* Open *Program.cs* - -* Replace the contents of the file with the following code - - [!code-csharp[Main](../../../../samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Program.cs)] - -* **Debug > Start Without Debugging** - - You see that one blog is saved to the database and then the details of all blogs are printed to the console. - - ![image](_static/output-new-db.png) - -## Additional Resources - -* [EF Core on .NET Framework with an existing database](xref:core/get-started/full-dotnet/existing-db) -* [EF Core on .NET Core with a new database - SQLite](xref:core/get-started/netcore/new-db-sqlite) - a cross-platform console EF tutorial. diff --git a/entity-framework/core/get-started/index.md b/entity-framework/core/get-started/index.md index 50eaeef767..91f3658f98 100644 --- a/entity-framework/core/get-started/index.md +++ b/entity-framework/core/get-started/index.md @@ -1,33 +1,164 @@ --- title: Getting Started - EF Core -author: rowanmiller -ms.date: 10/27/2016 +author: rick-anderson +ms.date: 09/17/2019 ms.assetid: 3c88427c-20c6-42ec-a736-22d3eccd5071 uid: core/get-started/index --- -# Getting Started with Entity Framework Core -## [Installing EF Core](install/index.md) +# Getting Started with EF Core -A summary of the steps necessary to add EF Core to your application in different platforms and popular IDEs. +In this tutorial, you create a .NET Core console app that performs data access against a SQLite database using Entity Framework Core. -## Step-by-step Tutorials +You can follow the tutorial by using Visual Studio on Windows, or by using the .NET Core CLI on Windows, macOS, or Linux. -These introductory tutorials require no previous knowledge of Entity Framework Core or any particular IDE. They will take you step-by-step through the creation of a simple application that queries and saves data from a database. We have provided tutorials to get you started on various operating systems and application types. +[View this article's sample on GitHub](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted). -Entity Framework Core can create a model based on an existing database, or create a database for you based on your model. There are tutorials that demonstrate both of these approaches. +## Prerequisites -* .NET Core Console Apps - * [New Database](netcore/new-db-sqlite.md) -* ASP.NET Core Apps - * [New Database](aspnetcore/new-db.md) - * [Existing Database](aspnetcore/existing-db.md) - * [EF Core and Razor Pages](/aspnet/core/data/ef-rp/intro) -* Universal Windows Platform (UWP) Apps - * [New Database](uwp/getting-started.md) -* .NET Framework Apps - * [New Database](full-dotnet/new-db.md) - * [Existing Database](full-dotnet/existing-db.md) +Install the following software: -> [!NOTE] -> These tutorials and the accompanying samples have been updated to use EF Core 2.1. However, in the majority of cases it should be possible to create applications that use previous releases, with minimal modification to the instructions. +# [.NET Core CLI](#tab/netcore-cli) + +* [.NET Core 3.0 SDK](https://www.microsoft.com/net/download/core). + +# [Visual Studio](#tab/visual-studio) + +* [Visual Studio 2019 version 16.3 or later](https://www.visualstudio.com/downloads/) with this workload: + * **.NET Core cross-platform development** (under **Other Toolsets**) + +--- + +## Create a new project + +# [.NET Core CLI](#tab/netcore-cli) + +``` Console +dotnet new console -o EFGetStarted +cd EFGetStarted +``` + +# [Visual Studio](#tab/visual-studio) + +* Open Visual Studio +* Click **Create a new project** +* Select **Console App (.NET Core)** with the **C#** tag and click **Next** +* Enter **EFGetStarted** for the name and click **Create** + +--- + +## Install Entity Framework Core + +To install EF Core, you install the package for the EF Core database provider(s) you want to target. This tutorial uses SQLite because it runs on all platforms that .NET Core supports. For a list of available providers, see [Database Providers](../providers/index.md). + +# [.NET Core CLI](#tab/netcore-cli) + +``` Console +dotnet add package Microsoft.EntityFrameworkCore.Sqlite +``` + +# [Visual Studio](#tab/visual-studio) + +* **Tools > NuGet Package Manager > Package Manager Console** +* Run the following commands: + + ``` PowerShell + Install-Package Microsoft.EntityFrameworkCore.Sqlite + ``` + +Tip: You can also install packages by right-clicking on the project and selecting **Manage NuGet Packages** + +--- + +## Create the model + +Define a context class and entity classes that make up the model. + +# [.NET Core CLI](#tab/netcore-cli) + +* In the project directory create **Model.cs** with the following code + +# [Visual Studio](#tab/visual-studio) + +* Right-click on the project and select **Add > Class** +* Enter **Model.cs** as the name and click **Add** +* Replace the contents of the file with the following code + +--- + +[!code-csharp[Main](../../../samples/core/GetStarted/Model.cs)] + +EF Core can also [reverse engineer](../managing-schemas/scaffolding.md) a model from an existing database. + +Tip: In a real app, you put each class in a separate file and put the [connection string](../miscellaneous/connection-strings.md) in a configuration file or environment variable. To keep the tutorial simple, everything is contained in one file. + +## Create the database + +The following steps use [migrations](xref:core/managing-schemas/migrations/index) to create a database. + +# [.NET Core CLI](#tab/netcore-cli) + +* Run the following commands: + + ``` Console + dotnet tool install --global dotnet-ef --version 3.0.0-* + dotnet add package Microsoft.EntityFrameworkCore.Design + dotnet ef migrations add InitialCreate + dotnet ef database update + ``` + + This installs [dotnet ef](../miscellaneous/cli/dotnet.md) and the design package which is required to run the command on a project. The `migrations` command scaffolds a migration to create the initial set of tables for the model. The `database update` command creates the database and applies the new migration to it. + +# [Visual Studio](#tab/visual-studio) + +* Run the following commands in **Package Manager Console** + + ``` PowerShell + Install-Package Microsoft.EntityFrameworkCore.Tools + Add-Migration InitialCreate + Update-Database + ``` + + This installs the [PMC tools for EF Core](../miscellaneous/cli/powershell.md). The `Add-Migration` command scaffolds a migration to create the initial set of tables for the model. The `Update-Database` command creates the database and applies the new migration to it. + +--- + +## Create, read, update & delete + +* Open *Program.cs* and replace the contents with the following code: + + [!code-csharp[Main](../../../samples/core/GetStarted/Program.cs)] + +## Run the app + +# [.NET Core CLI](#tab/netcore-cli) + +``` Console +dotnet run +``` + +# [Visual Studio](#tab/visual-studio) + +Visual Studio uses an inconsistent working directory when running .NET Core console apps. (see [dotnet/project-system#3619](https://github.com/dotnet/project-system/issues/3619)) This results in an exception being thrown: *no such table: Blogs*. To update the working directory: + +* Right-click on the project and select **Edit Project File** +* Just below the *TargetFramework* property, add the following: + + ``` XML + $(MSBuildProjectDirectory) + ``` + +* Save the file + +Now you can run the app: + +* **Debug > Start Without Debugging** + +--- + +# Next steps + +* Follow the [ASP.NET Core Tutorial](/aspnet/core/data/ef-rp/intro) to use EF Core in a web app +* Learn more about [LINQ query expressions](/dotnet/csharp/programming-guide/concepts/linq/basic-linq-query-operations) +* [Configure your model](xref:core/modeling/index) to specify things like [required](xref:core/modeling/required-optional) and [maximum length](xref:core/modeling/max-length) +* Use [Migrations](xref:core/managing-schemas/migrations/index) to update the database schema after changing your model diff --git a/entity-framework/core/get-started/netcore/_static/terminal.png b/entity-framework/core/get-started/netcore/_static/terminal.png deleted file mode 100644 index 887a10532d1deb537720eff6473832bb5c18f7c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14740 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 diff --git a/entity-framework/core/get-started/netcore/index.md b/entity-framework/core/get-started/netcore/index.md deleted file mode 100644 index 8662ff9edd..0000000000 --- a/entity-framework/core/get-started/netcore/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Getting Started on .NET Core - EF Core -author: rowanmiller -ms.date: 10/27/2016 -ms.assetid: 35fc7f49-fda8-4d8d-822f-78dd2d484d79 -uid: core/get-started/netcore/index ---- -# Getting Started with EF Core on .NET Core - -These 101 tutorials require no previous knowledge of Entity Framework Core or Visual Studio. They will take you step-by-step through creating a simple .NET Core Console Application that queries and saves data from a database. The tutorials can be completed on any platform supported by .NET Core (Windows, OSX, Linux, etc.). - -You can find the .NET Core documentation at [docs.microsoft.com/dotnet/articles/core](https://docs.microsoft.com/dotnet/articles/core/). diff --git a/entity-framework/core/get-started/netcore/new-db-sqlite.md b/entity-framework/core/get-started/netcore/new-db-sqlite.md deleted file mode 100644 index 23e0faecb7..0000000000 --- a/entity-framework/core/get-started/netcore/new-db-sqlite.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Getting Started on .NET Core - New database - EF Core -author: rick-anderson -ms.author: riande -description: Getting started with .NET Core using Entity Framework Core -ms.date: 08/03/2018 -ms.assetid: 099d179e-dd7b-4755-8f3c-fcde914bf50b -uid: core/get-started/netcore/new-db-sqlite ---- - -# Getting Started with EF Core on .NET Core Console App with a New database - -In this tutorial, you create a .NET Core console app that performs data access against a SQLite database using Entity Framework Core. You use [migrations](xref:core/managing-schemas/migrations/index) to create the database from the model. See [ASP.NET Core - New database](xref:core/get-started/aspnetcore/new-db) for a Visual Studio version using ASP.NET Core MVC. - -[View this article's sample on GitHub](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/NetCore/ConsoleApp.SQLite). - -## Prerequisites - -* [The .NET Core 2.1 SDK](https://www.microsoft.com/net/core) - -## Create a new project - -* Create a new console project: - - ``` Console - dotnet new console -o ConsoleApp.SQLite - ``` -## Change the current directory - -In subsequent steps, we need to issue `dotnet` commands against the application. - -* We change the current directory to the application's directory like this: - - ``` Console - cd ConsoleApp.SQLite/ - ``` -## Install Entity Framework Core - -To use EF Core, install the package for the database provider(s) you want to target. This walkthrough uses SQLite. For a list of available providers see [Database Providers](../../providers/index.md). - -* Install Microsoft.EntityFrameworkCore.Sqlite and Microsoft.EntityFrameworkCore.Design - - ```Console - dotnet add package Microsoft.EntityFrameworkCore.Sqlite - dotnet add package Microsoft.EntityFrameworkCore.Design - ``` - -* Run `dotnet restore` to install the new packages. - -## Create the model - -Define a context and entity classes that make up your model. - -* Create a new *Model.cs* file with the following contents. - - [!code-csharp[Main](../../../../samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Model.cs)] - -Tip: In a real application, you put each class in a separate file and put the connection string in a configuration file or environment variable. To keep the tutorial simple, everything is contained in one file. - -## Create the database - -Once you have a model, you use [migrations](xref:core/managing-schemas/migrations/index) to create a database. - -* Run `dotnet ef migrations add InitialCreate` to scaffold a migration and create the initial set of tables for the model. -* Run `dotnet ef database update` to apply the new migration to the database. This command creates the database before applying migrations. - -The *blogging.db* SQLite DB is in the project directory. - -## Use the model - -* Open *Program.cs* and replace the contents with the following code: - - [!code-csharp[Main](../../../../samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Program.cs)] - -* Test the app from the console. See the [Visual Studio note](#vs) to run the app from Visual Studio. - - `dotnet run` - - One blog is saved to the database and the details of all blogs are displayed in the console. - - ```Console - ConsoleApp.SQLite>dotnet run - 1 records saved to database - - All blogs in database: - - http://blogs.msdn.com/adonet - ``` - -### Changing the model: - -- If you make changes to the model, you can use the `dotnet ef migrations add` command to scaffold a new [migration](xref:core/managing-schemas/migrations/index). Once you have checked the scaffolded code (and made any required changes), you can use the `dotnet ef database update` command to apply the schema changes to the database. -- EF Core uses a `__EFMigrationsHistory` table in the database to keep track of which migrations have already been applied to the database. -- The SQLite database engine doesn't support certain schema changes that are supported by most other relational databases. For example, the `DropColumn` operation is not supported. EF Core Migrations will generate code for these operations. But if you try to apply them to a database or generate a script, EF Core throws exceptions. See [SQLite Limitations](../../providers/sqlite/limitations.md). For new development, consider dropping the database and creating a new one rather than using migrations when the model changes. - - -### Run from Visual Studio - -To run this sample from Visual Studio, you must set the working directory manually to be the root of the project. If you don't set the working directory, the following `Microsoft.Data.Sqlite.SqliteException` is thrown: -`SQLite Error 1: 'no such table: Blogs'`. - -To set the working directory: - -* In **Solution Explorer**, right click the project and then select **Properties**. -* Select the **Debug** tab in the left pane. -* Set **Working directory** to the project directory. -* Save the changes. - -## Additional Resources - -* [Tutorial: Get started with EF Core on ASP.NET Core with a new database using SQLite](xref:core/get-started/aspnetcore/new-db) -* [Tutorial: Get started with Razor Pages in ASP.NET Core](https://docs.microsoft.com/aspnet/core/tutorials/razor-pages/razor-pages-start) -* [Tutorial: Razor Pages with Entity Framework Core in ASP.NET Core](https://docs.microsoft.com/aspnet/core/data/ef-rp/intro) diff --git a/entity-framework/core/get-started/uwp/_static/create.png b/entity-framework/core/get-started/uwp/_static/create.png deleted file mode 100644 index e76cbab6e5af75ba62820e0397431142b4444987..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5903 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 diff --git a/entity-framework/core/get-started/uwp/getting-started.md b/entity-framework/core/get-started/uwp/getting-started.md deleted file mode 100644 index 5cc3c08cce..0000000000 --- a/entity-framework/core/get-started/uwp/getting-started.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -title: Getting Started on UWP - New Database - EF Core -author: rowanmiller -ms.date: 10/13/2018 -ms.assetid: a0ae2f21-1eef-43c6-83ad-92275f9c0727 -uid: core/get-started/uwp/getting-started ---- - -# Getting Started with EF Core on Universal Windows Platform (UWP) with a New Database - -In this tutorial, you build a Universal Windows Platform (UWP) application that performs basic data access against a local SQLite database using Entity Framework Core. - -[View this article's sample on GitHub](https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core/GetStarted/UWP). - -## Prerequisites - -* [Windows 10 Fall Creators Update (10.0; Build 16299) or later](https://support.microsoft.com/help/4027667/windows-update-windows-10). - -* [Visual Studio 2017 version 15.7 or later](https://www.visualstudio.com/downloads/) with the **Universal Windows Platform Development** workload. - -* [.NET Core 2.1 SDK or later](https://www.microsoft.com/net/core) or later. - -> [!IMPORTANT] -> This tutorial uses Entity Framework Core [migrations](xref:core/managing-schemas/migrations/index) commands to create and update the schema of the database. -> These commands don't work directly with UWP projects. -> For this reason, the application's data model is placed in a shared library project, and a separate .NET Core console application is used to run the commands. - -## Create a library project to hold the data model - -* Open Visual Studio - -* **File > New > Project** - -* From the left menu select **Installed > Visual C# > .NET Standard**. - -* Select the **Class Library (.NET Standard)** template. - -* Name the project *Blogging.Model*. - -* Name the solution *Blogging*. - -* Click **OK**. - -## Install Entity Framework Core runtime in the data model project - -To use EF Core, install the package for the database provider(s) you want to target. This tutorial uses SQLite. For a list of available providers see [Database Providers](../../providers/index.md). - -* **Tools > NuGet Package Manager > Package Manager Console**. - -* Make sure that the library project *Blogging.Model* is selected as the **Default Project** in the Package Manager Console. - -* Run `Install-Package Microsoft.EntityFrameworkCore.Sqlite` - -## Create the data model - -Now it's time to define the *DbContext* and entity classes that make up the model. - -* Delete *Class1.cs*. - -* Create *Model.cs* with the following code: - - [!code-csharp[Main](../../../../samples/core/GetStarted/UWP/Blogging.Model/Model.cs)] - -## Create a new console project to run migrations commands - -* In **Solution Explorer**, right-click the solution, and then choose **Add > New Project**. - -* From the left menu select **Installed > Visual C# > .NET Core**. - -* Select the **Console App (.NET Core)** project template. - -* Name the project *Blogging.Migrations.Startup*, and click **OK**. - -* Add a project reference from the *Blogging.Migrations.Startup* project to the *Blogging.Model* project. - -## Install Entity Framework Core tools in the migrations startup project - -To enable the EF Core migration commands in the Package Manager Console, install the EF Core tools package in the console application. - -* **Tools > NuGet Package Manager > Package Manager Console** - -* Run `Install-Package Microsoft.EntityFrameworkCore.Tools -ProjectName Blogging.Migrations.Startup` - -## Create the initial migration - - Create the initial migration, specifying the console application as the startup project. - -* Run `Add-Migration InitialCreate -StartupProject Blogging.Migrations.Startup` - -This command scaffolds a migration that creates the initial set of database tables for your data model. - -## Create the UWP project - -* In **Solution Explorer**, right-click the solution, and then choose **Add > New Project**. - -* From the left menu select **Installed > Visual C# > Windows Universal**. - -* Select the **Blank App (Universal Windows)** project template. - -* Name the project *Blogging.UWP*, and click **OK** - -> [!IMPORTANT] -> Set the target and minimum versions to at least **Windows 10 Fall Creators Update (10.0; build 16299.0)**. -> Previous versions of Windows 10 do not support .NET Standard 2.0, which is required by Entity Framework Core. - -## Add code to create the database on application startup - -Since you want the database to be created on the device that the app runs on, add code to apply any pending migrations to the local database on application startup. The first time that the app runs, this will take care of creating the local database. - -* Add a project reference from the *Blogging.UWP* project to the *Blogging.Model* project. - -* Open *App.xaml.cs*. - -* Add the highlighted code to apply any pending migrations. - - [!code-csharp[Main](../../../../samples/core/GetStarted/UWP/Blogging.UWP/App.xaml.cs?highlight=1-2,26-29)] - -> [!TIP] -> If you change your model, use the `Add-Migration` command to scaffold a new migration to apply the corresponding changes to the database. Any pending migrations will be applied to the local database on each device when the application starts. -> ->EF Core uses a `__EFMigrationsHistory` table in the database to keep track of which migrations have already been applied to the database. - -## Use the data model - -You can now use EF Core to perform data access. - -* Open *MainPage.xaml*. - -* Add the page load handler and UI content highlighted below - -[!code-xml[Main](../../../../samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml?highlight=9,11-23)] - -Now add code to wire up the UI with the database - -* Open *MainPage.xaml.cs*. - -* Add the highlighted code from the following listing: - -[!code-csharp[Main](../../../../samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml.cs?highlight=1,31-49)] - -You can now run the application to see it in action. - -* In **Solution Explorer**, right-click the *Blogging.UWP* project and then select **Deploy**. - -* Set *Blogging.UWP* as the startup project. - -* **Debug > Start Without Debugging** - - The app builds and runs. - -* Enter a URL and click the **Add** button - - ![image](_static/create.png) - - ![image](_static/list.png) - - Tada! You now have a simple UWP app running Entity Framework Core. - -## Next steps - -For compatibility and performance information that you should know when using EF Core with UWP, see [.NET implementations supported by EF Core](../../platforms/index.md#universal-windows-platform). - -Check out other articles in this documentation to learn more about Entity Framework Core features. diff --git a/entity-framework/core/get-started/uwp/index.md b/entity-framework/core/get-started/uwp/index.md deleted file mode 100644 index 76ba4f90dd..0000000000 --- a/entity-framework/core/get-started/uwp/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Getting Started on UWP - EF Core -author: rowanmiller -ms.date: 08/08/2016 -ms.assetid: 105765eb-7ce1-47e1-b716-b28f8f3647ff -uid: core/get-started/uwp/index ---- - -# Getting Started with EF Core on Universal Windows Platform (UWP) - -These 101-level tutorials require no previous knowledge of Entity Framework Core or Visual Studio. They will take you step-by-step through creating a simple Universal Window Platform (UWP) application that queries and saves data from a database using EF Core. - -More details about developing UWP applications can be found in the [UWP documentation](https://docs.microsoft.com/windows/uwp/develop/). diff --git a/entity-framework/core/miscellaneous/configuring-dbcontext.md b/entity-framework/core/miscellaneous/configuring-dbcontext.md index 49bae7478e..2d9fdeaaec 100644 --- a/entity-framework/core/miscellaneous/configuring-dbcontext.md +++ b/entity-framework/core/miscellaneous/configuring-dbcontext.md @@ -185,6 +185,5 @@ Using dependency injection, this can be achieved by either registering the conte ## More reading -* Read [Getting Started on ASP.NET Core](../get-started/aspnetcore/index.md) for more information on using EF with ASP.NET Core. * Read [Dependency Injection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) to learn more about using DI. * Read [Testing](testing/index.md) for more information. diff --git a/entity-framework/core/providers/sql-server/index.md b/entity-framework/core/providers/sql-server/index.md index 83d0b2d435..d112406819 100644 --- a/entity-framework/core/providers/sql-server/index.md +++ b/entity-framework/core/providers/sql-server/index.md @@ -17,15 +17,6 @@ Install the [Microsoft.EntityFrameworkCore.SqlServer NuGet package](https://www. Install-Package Microsoft.EntityFrameworkCore.SqlServer ``` -## Get Started - -The following resources will help you get started with this provider. -* [Getting Started on .NET Framework (Console, WinForms, WPF, etc.)](../../get-started/full-dotnet/index.md) - -* [Getting Started on ASP.NET Core](../../get-started/aspnetcore/index.md) - -* [UnicornStore Sample Application](https://github.com/rowanmiller/UnicornStore/tree/master/UnicornStore) - ## Supported Database Engines * Microsoft SQL Server (2012 onwards) diff --git a/entity-framework/core/providers/sqlite/index.md b/entity-framework/core/providers/sqlite/index.md index a69db50748..8500d14fb6 100644 --- a/entity-framework/core/providers/sqlite/index.md +++ b/entity-framework/core/providers/sqlite/index.md @@ -17,17 +17,6 @@ Install the [Microsoft.EntityFrameworkCore.Sqlite NuGet package](https://www.nug Install-Package Microsoft.EntityFrameworkCore.Sqlite ``` -## Get Started - -The following resources will help you get started with this provider. -* [Local SQLite on UWP](../../get-started/uwp/getting-started.md) - -* [.NET Core Application to New SQLite Database](../../get-started/netcore/new-db-sqlite.md) - -* [Unicorn Clicker Sample Application](https://github.com/rowanmiller/UnicornStore/tree/master/UnicornClicker/UWP) - -* [Unicorn Packer Sample Application](https://github.com/rowanmiller/UnicornStore/tree/master/UnicornPacker) - ## Supported Database Engines * SQLite (3.7 onwards) diff --git a/entity-framework/efcore-and-ef6/porting/port-edmx.md b/entity-framework/efcore-and-ef6/porting/port-edmx.md index ad4acb142c..7871225663 100644 --- a/entity-framework/efcore-and-ef6/porting/port-edmx.md +++ b/entity-framework/efcore-and-ef6/porting/port-edmx.md @@ -42,6 +42,3 @@ At this point, it's a matter of addressing compilation errors and reviewing code ## Test the port Just because your application compiles, does not mean it is successfully ported to EF Core. You will need to test all areas of your application to ensure that none of the behavior changes have adversely impacted your application. - -> [!TIP] -> See [Getting Started with EF Core on ASP.NET Core with an Existing Database](xref:core/get-started/aspnetcore/existing-db) for an additional reference on how to work with an existing database, diff --git a/entity-framework/index.md b/entity-framework/index.md index 8878c34aa1..c0b44d230a 100644 --- a/entity-framework/index.md +++ b/entity-framework/index.md @@ -156,18 +156,6 @@ uid: index

Tutorials

-

- .NET Framework -

-

- .NET Core -

-

- ASP.NET Core -

-

- UWP -

more…

diff --git a/entity-framework/toc.md b/entity-framework/toc.md index 28d18e8b70..66ec89ac60 100644 --- a/entity-framework/toc.md +++ b/entity-framework/toc.md @@ -27,18 +27,7 @@ ### [Get Started](core/get-started/index.md) #### [Installing EF Core](core/get-started/install/index.md) -#### [.NET Core](core/get-started/netcore/index.md) -##### [New Database](core/get-started/netcore/new-db-sqlite.md) -#### [ASP.NET Core](core/get-started/aspnetcore/index.md) -##### [⤤ Interactive tutorial](/learn/modules/persist-data-ef-core/) -##### [New Database](core/get-started/aspnetcore/new-db.md) -##### [Existing Database](core/get-started/aspnetcore/existing-db.md) -##### [⤤ EF Core and Razor Pages](/aspnet/core/data/ef-rp/intro) -#### [Universal Windows Platform (UWP)](core/get-started/uwp/index.md) -##### [New Database](core/get-started/uwp/getting-started.md) -#### [.NET Framework](core/get-started/full-dotnet/index.md) -##### [New Database](core/get-started/full-dotnet/new-db.md) -##### [Existing Database](core/get-started/full-dotnet/existing-db.md) +#### [⤤ ASP.NET Core Tutorial](/aspnet/core/data/ef-rp/intro) ### Fundamentals #### [Connection Strings](core/miscellaneous/connection-strings.md) diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/BlogsController.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/BlogsController.cs deleted file mode 100644 index d0e59b04c7..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/BlogsController.cs +++ /dev/null @@ -1,152 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.EntityFrameworkCore; -using EFGetStarted.AspNetCore.ExistingDb.Models; - -namespace EFGetStarted.AspNetCore.ExistingDb.Controllers -{ - public class BlogsController : Controller - { - private readonly BloggingContext _context; - - public BlogsController(BloggingContext context) - { - _context = context; - } - - // GET: Blogs - public async Task Index() - { - return View(await _context.Blog.ToListAsync()); - } - - // GET: Blogs/Details/5 - public async Task Details(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blog - .FirstOrDefaultAsync(m => m.BlogId == id); - if (blog == null) - { - return NotFound(); - } - - return View(blog); - } - - // GET: Blogs/Create - public IActionResult Create() - { - return View(); - } - - // POST: Blogs/Create - // To protect from overposting attacks, please enable the specific properties you want to bind to, for - // more details see http://go.microsoft.com/fwlink/?LinkId=317598. - [HttpPost] - [ValidateAntiForgeryToken] - public async Task Create([Bind("BlogId,Url")] Blog blog) - { - if (ModelState.IsValid) - { - _context.Add(blog); - await _context.SaveChangesAsync(); - return RedirectToAction(nameof(Index)); - } - return View(blog); - } - - // GET: Blogs/Edit/5 - public async Task Edit(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blog.FindAsync(id); - if (blog == null) - { - return NotFound(); - } - return View(blog); - } - - // POST: Blogs/Edit/5 - // To protect from overposting attacks, please enable the specific properties you want to bind to, for - // more details see http://go.microsoft.com/fwlink/?LinkId=317598. - [HttpPost] - [ValidateAntiForgeryToken] - public async Task Edit(int id, [Bind("BlogId,Url")] Blog blog) - { - if (id != blog.BlogId) - { - return NotFound(); - } - - if (ModelState.IsValid) - { - try - { - _context.Update(blog); - await _context.SaveChangesAsync(); - } - catch (DbUpdateConcurrencyException) - { - if (!BlogExists(blog.BlogId)) - { - return NotFound(); - } - else - { - throw; - } - } - return RedirectToAction(nameof(Index)); - } - return View(blog); - } - - // GET: Blogs/Delete/5 - public async Task Delete(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blog - .FirstOrDefaultAsync(m => m.BlogId == id); - if (blog == null) - { - return NotFound(); - } - - return View(blog); - } - - // POST: Blogs/Delete/5 - [HttpPost, ActionName("Delete")] - [ValidateAntiForgeryToken] - public async Task DeleteConfirmed(int id) - { - var blog = await _context.Blog.FindAsync(id); - _context.Blog.Remove(blog); - await _context.SaveChangesAsync(); - return RedirectToAction(nameof(Index)); - } - - private bool BlogExists(int id) - { - return _context.Blog.Any(e => e.BlogId == id); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/HomeController.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/HomeController.cs deleted file mode 100644 index d58e025201..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Controllers/HomeController.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using EFGetStarted.AspNetCore.ExistingDb.Models; - -namespace EFGetStarted.AspNetCore.ExistingDb.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - - public IActionResult About() - { - ViewData["Message"] = "Your application description page."; - - return View(); - } - - public IActionResult Contact() - { - ViewData["Message"] = "Your contact page."; - - return View(); - } - - public IActionResult Privacy() - { - return View(); - } - - [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] - public IActionResult Error() - { - return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/EFGetStarted.AspNetCore.ExistingDb.csproj b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/EFGetStarted.AspNetCore.ExistingDb.csproj deleted file mode 100644 index f8b7d1dfd1..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/EFGetStarted.AspNetCore.ExistingDb.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - netcoreapp2.1 - - - - - - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Blog.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Blog.cs deleted file mode 100644 index 30f70ceaba..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Blog.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace EFGetStarted.AspNetCore.ExistingDb.Models -{ - public partial class Blog - { - public Blog() - { - Post = new HashSet(); - } - - public int BlogId { get; set; } - public string Url { get; set; } - - public ICollection Post { get; set; } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/BloggingContext.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/BloggingContext.cs deleted file mode 100644 index c1a2e91ca0..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/BloggingContext.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata; - -namespace EFGetStarted.AspNetCore.ExistingDb.Models -{ - public partial class BloggingContext : DbContext - { - public BloggingContext() - { - } - - public BloggingContext(DbContextOptions options) - : base(options) - { - } - - public virtual DbSet Blog { get; set; } - public virtual DbSet Post { get; set; } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - if (!optionsBuilder.IsConfigured) - { -#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings. - optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"); - } - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity(entity => - { - entity.Property(e => e.Url).IsRequired(); - }); - - modelBuilder.Entity(entity => - { - entity.HasOne(d => d.Blog) - .WithMany(p => p.Post) - .HasForeignKey(d => d.BlogId); - }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/ErrorViewModel.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/ErrorViewModel.cs deleted file mode 100644 index da9cfc7149..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/ErrorViewModel.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace EFGetStarted.AspNetCore.ExistingDb.Models -{ - public class ErrorViewModel - { - public string RequestId { get; set; } - - public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Post.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Post.cs deleted file mode 100644 index 87c992bcd8..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Models/Post.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace EFGetStarted.AspNetCore.ExistingDb.Models -{ - public partial class Post - { - public int PostId { get; set; } - public int BlogId { get; set; } - public string Content { get; set; } - public string Title { get; set; } - - public Blog Blog { get; set; } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Program.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Program.cs deleted file mode 100644 index c8047cb1e4..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; - -namespace EFGetStarted.AspNetCore.ExistingDb -{ - public class Program - { - public static void Main(string[] args) - { - CreateWebHostBuilder(args).Build().Run(); - } - - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Properties/launchSettings.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Properties/launchSettings.json deleted file mode 100644 index c45de0b27e..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Properties/launchSettings.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:2855", - "sslPort": 44332 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "EFGetStarted.AspNetCore.ExistingDb": { - "commandName": "Project", - "launchBrowser": true, - "applicationUrl": "https://localhost:5001;http://localhost:5000", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Startup.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Startup.cs deleted file mode 100644 index accbede78a..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Startup.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.HttpsPolicy; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -#region AddedUsings -using EFGetStarted.AspNetCore.ExistingDb.Models; -using Microsoft.EntityFrameworkCore; -#endregion - -namespace EFGetStarted.AspNetCore.ExistingDb -{ - public class Startup - { - public Startup(IConfiguration configuration) - { - Configuration = configuration; - } - - public IConfiguration Configuration { get; } - -#region ConfigureServices - // This method gets called by the runtime. Use this method to add services to the container. - public void ConfigureServices(IServiceCollection services) - { - services.Configure(options => - { - // This lambda determines whether user consent for non-essential cookies is needed for a given request. - options.CheckConsentNeeded = context => true; - options.MinimumSameSitePolicy = SameSiteMode.None; - }); - - - services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); - - var connection = @"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0"; - services.AddDbContext(options => options.UseSqlServer(connection)); - } -#endregion - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IHostingEnvironment env) - { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - app.UseHsts(); - } - - app.UseHttpsRedirection(); - app.UseStaticFiles(); - app.UseCookiePolicy(); - - app.UseMvc(routes => - { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Create.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Create.cshtml deleted file mode 100644 index 5a77272673..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Create.cshtml +++ /dev/null @@ -1,33 +0,0 @@ -@model EFGetStarted.AspNetCore.ExistingDb.Models.Blog - -@{ - ViewData["Title"] = "Create"; -} - -

Create

- -

Blog

-
-
-
-
-
-
- - - -
-
- -
-
-
-
- - - -@section Scripts { - @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Delete.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Delete.cshtml deleted file mode 100644 index 41a3012b27..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Delete.cshtml +++ /dev/null @@ -1,27 +0,0 @@ -@model EFGetStarted.AspNetCore.ExistingDb.Models.Blog - -@{ - ViewData["Title"] = "Delete"; -} - -

Delete

- -

Are you sure you want to delete this?

-
-

Blog

-
-
-
- @Html.DisplayNameFor(model => model.Url) -
-
- @Html.DisplayFor(model => model.Url) -
-
- -
- - | - Back to List -
-
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Details.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Details.cshtml deleted file mode 100644 index 2ba02ef6dd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Details.cshtml +++ /dev/null @@ -1,24 +0,0 @@ -@model EFGetStarted.AspNetCore.ExistingDb.Models.Blog - -@{ - ViewData["Title"] = "Details"; -} - -

Details

- -
-

Blog

-
-
-
- @Html.DisplayNameFor(model => model.Url) -
-
- @Html.DisplayFor(model => model.Url) -
-
-
- diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Edit.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Edit.cshtml deleted file mode 100644 index de8347be14..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Edit.cshtml +++ /dev/null @@ -1,34 +0,0 @@ -@model EFGetStarted.AspNetCore.ExistingDb.Models.Blog - -@{ - ViewData["Title"] = "Edit"; -} - -

Edit

- -

Blog

-
-
-
-
-
- -
- - - -
-
- -
-
-
-
- - - -@section Scripts { - @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Index.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Index.cshtml deleted file mode 100644 index 9b2f20f339..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Blogs/Index.cshtml +++ /dev/null @@ -1,35 +0,0 @@ -@model IEnumerable - -@{ - ViewData["Title"] = "Index"; -} - -

Index

- -

- Create New -

- - - - - - - - -@foreach (var item in Model) { - - - - -} - -
- @Html.DisplayNameFor(model => model.Url) -
- @Html.DisplayFor(modelItem => item.Url) - - Edit | - Details | - Delete -
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/About.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/About.cshtml deleted file mode 100644 index 3674e37a86..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/About.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@{ - ViewData["Title"] = "About"; -} -

@ViewData["Title"]

-

@ViewData["Message"]

- -

Use this area to provide additional information.

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Contact.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Contact.cshtml deleted file mode 100644 index a11a1867cf..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Contact.cshtml +++ /dev/null @@ -1,17 +0,0 @@ -@{ - ViewData["Title"] = "Contact"; -} -

@ViewData["Title"]

-

@ViewData["Message"]

- -
- One Microsoft Way
- Redmond, WA 98052-6399
- P: - 425.555.0100 -
- -
- Support: Support@example.com
- Marketing: Marketing@example.com -
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Index.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Index.cshtml deleted file mode 100644 index f42d2a08bd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Index.cshtml +++ /dev/null @@ -1,94 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Privacy.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Privacy.cshtml deleted file mode 100644 index 7bd38619c6..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Home/Privacy.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Privacy Policy"; -} -

@ViewData["Title"]

- -

Use this page to detail your site's privacy policy.

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/Error.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/Error.cshtml deleted file mode 100644 index ec2ea6bd03..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/Error.cshtml +++ /dev/null @@ -1,22 +0,0 @@ -@model ErrorViewModel -@{ - ViewData["Title"] = "Error"; -} - -

Error.

-

An error occurred while processing your request.

- -@if (Model.ShowRequestId) -{ -

- Request ID: @Model.RequestId -

-} - -

Development Mode

-

- Swapping to Development environment will display more detailed information about the error that occurred. -

-

- Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. -

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_CookieConsentPartial.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_CookieConsentPartial.cshtml deleted file mode 100644 index bbfbb09acb..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_CookieConsentPartial.cshtml +++ /dev/null @@ -1,41 +0,0 @@ -@using Microsoft.AspNetCore.Http.Features - -@{ - var consentFeature = Context.Features.Get(); - var showBanner = !consentFeature?.CanTrack ?? false; - var cookieString = consentFeature?.CreateConsentCookie(); -} - -@if (showBanner) -{ - - -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_Layout.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_Layout.cshtml deleted file mode 100644 index f0187acab9..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - @ViewData["Title"] - EFGetStarted.AspNetCore.ExistingDb - - - - - - - - - - - - - - - -
- @RenderBody() -
-
-

© 2018 - EFGetStarted.AspNetCore.ExistingDb

-
-
- - - - - - - - - - - - - @RenderSection("Scripts", required: false) - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_ValidationScriptsPartial.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_ValidationScriptsPartial.cshtml deleted file mode 100644 index 2a9241f596..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/Shared/_ValidationScriptsPartial.cshtml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewImports.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewImports.cshtml deleted file mode 100644 index 1e75bbe97d..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using EFGetStarted.AspNetCore.ExistingDb -@using EFGetStarted.AspNetCore.ExistingDb.Models -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewStart.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewStart.cshtml deleted file mode 100644 index a5f10045db..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.Development.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.Development.json deleted file mode 100644 index e203e9407e..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.Development.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.json deleted file mode 100644 index def9159a7d..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/appsettings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.css b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.css deleted file mode 100644 index e89c7811cd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.css +++ /dev/null @@ -1,37 +0,0 @@ -/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\ -for details on configuring this project to bundle and minify static web assets. */ -body { - padding-top: 50px; - padding-bottom: 20px; -} - -/* Wrapping element */ -/* Set some basic padding to keep content from hitting the edges */ -.body-content { - padding-left: 15px; - padding-right: 15px; -} - -/* Carousel */ -.carousel-caption p { - font-size: 20px; - line-height: 1.4; -} - -/* Make .svg files in the carousel display properly in older browsers */ -.carousel-inner .item img[src$=".svg"] { - width: 100%; -} - -/* QR code generator */ -#qrCode { - margin: 15px; -} - -/* Hide/rearrange for smaller screens */ -@media screen and (max-width: 767px) { - /* Hide captions */ - .carousel-caption { - display: none; - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.min.css b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.min.css deleted file mode 100644 index 5e93e30ae3..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/css/site.min.css +++ /dev/null @@ -1 +0,0 @@ -body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/favicon.ico b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/favicon.ico deleted file mode 100644 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner2.svg b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner2.svg deleted file mode 100644 index 9679c604d0..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner3.svg b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner3.svg deleted file mode 100644 index 38b3d7cd1f..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/images/banner3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.js b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.js deleted file mode 100644 index ac49c18641..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.js +++ /dev/null @@ -1,4 +0,0 @@ -// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification -// for details on configuring this project to bundle and minify static web assets. - -// Write your JavaScript code. diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.min.js b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.ExistingDb/wwwroot/js/site.min.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/BlogsController.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/BlogsController.cs deleted file mode 100644 index 2d11727beb..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/BlogsController.cs +++ /dev/null @@ -1,152 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.EntityFrameworkCore; -using EFGetStarted.AspNetCore.NewDb.Models; - -namespace EFGetStarted.AspNetCore.NewDb.Controllers -{ - public class BlogsController : Controller - { - private readonly BloggingContext _context; - - public BlogsController(BloggingContext context) - { - _context = context; - } - - // GET: Blogs - public async Task Index() - { - return View(await _context.Blogs.ToListAsync()); - } - - // GET: Blogs/Details/5 - public async Task Details(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blogs - .FirstOrDefaultAsync(m => m.BlogId == id); - if (blog == null) - { - return NotFound(); - } - - return View(blog); - } - - // GET: Blogs/Create - public IActionResult Create() - { - return View(); - } - - // POST: Blogs/Create - // To protect from overposting attacks, please enable the specific properties you want to bind to, for - // more details see http://go.microsoft.com/fwlink/?LinkId=317598. - [HttpPost] - [ValidateAntiForgeryToken] - public async Task Create([Bind("BlogId,Url")] Blog blog) - { - if (ModelState.IsValid) - { - _context.Add(blog); - await _context.SaveChangesAsync(); - return RedirectToAction(nameof(Index)); - } - return View(blog); - } - - // GET: Blogs/Edit/5 - public async Task Edit(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blogs.FindAsync(id); - if (blog == null) - { - return NotFound(); - } - return View(blog); - } - - // POST: Blogs/Edit/5 - // To protect from overposting attacks, please enable the specific properties you want to bind to, for - // more details see http://go.microsoft.com/fwlink/?LinkId=317598. - [HttpPost] - [ValidateAntiForgeryToken] - public async Task Edit(int id, [Bind("BlogId,Url")] Blog blog) - { - if (id != blog.BlogId) - { - return NotFound(); - } - - if (ModelState.IsValid) - { - try - { - _context.Update(blog); - await _context.SaveChangesAsync(); - } - catch (DbUpdateConcurrencyException) - { - if (!BlogExists(blog.BlogId)) - { - return NotFound(); - } - else - { - throw; - } - } - return RedirectToAction(nameof(Index)); - } - return View(blog); - } - - // GET: Blogs/Delete/5 - public async Task Delete(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blogs - .FirstOrDefaultAsync(m => m.BlogId == id); - if (blog == null) - { - return NotFound(); - } - - return View(blog); - } - - // POST: Blogs/Delete/5 - [HttpPost, ActionName("Delete")] - [ValidateAntiForgeryToken] - public async Task DeleteConfirmed(int id) - { - var blog = await _context.Blogs.FindAsync(id); - _context.Blogs.Remove(blog); - await _context.SaveChangesAsync(); - return RedirectToAction(nameof(Index)); - } - - private bool BlogExists(int id) - { - return _context.Blogs.Any(e => e.BlogId == id); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/HomeController.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/HomeController.cs deleted file mode 100644 index 4f69ab448a..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Controllers/HomeController.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using EFGetStarted.AspNetCore.NewDb.Models; - -namespace EFGetStarted.AspNetCore.NewDb.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - - public IActionResult About() - { - ViewData["Message"] = "Your application description page."; - - return View(); - } - - public IActionResult Contact() - { - ViewData["Message"] = "Your contact page."; - - return View(); - } - - public IActionResult Privacy() - { - return View(); - } - - [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] - public IActionResult Error() - { - return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.csproj b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.csproj deleted file mode 100644 index 1ce9aefaf7..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - netcoreapp2.1 - - - - - - - - - - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.sln b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.sln deleted file mode 100644 index 0493c2b3f2..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/EFGetStarted.AspNetCore.NewDb.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28010.2003 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFGetStarted.AspNetCore.NewDb", "EFGetStarted.AspNetCore.NewDb.csproj", "{BF63F0E0-FC75-4337-905F-F81065369653}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BF63F0E0-FC75-4337-905F-F81065369653}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BF63F0E0-FC75-4337-905F-F81065369653}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BF63F0E0-FC75-4337-905F-F81065369653}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BF63F0E0-FC75-4337-905F-F81065369653}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {11B06787-C388-4DFB-8E4F-6B6C454C2712} - EndGlobalSection -EndGlobal diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.Designer.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.Designer.cs deleted file mode 100644 index eca1a803cc..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.Designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -// -using EFGetStarted.AspNetCore.NewDb.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace EFGetStarted.AspNetCore.NewDb.Migrations -{ - [DbContext(typeof(BloggingContext))] - [Migration("20180904155347_InitialCreate")] - partial class InitialCreate - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.2-rtm-30932"); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd(); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd(); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.HasOne("EFGetStarted.AspNetCore.NewDb.Models.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.cs deleted file mode 100644 index 1b7eb50c2c..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/20180904155347_InitialCreate.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace EFGetStarted.AspNetCore.NewDb.Migrations -{ - public partial class InitialCreate : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Blogs", - columns: table => new - { - BlogId = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Url = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Blogs", x => x.BlogId); - }); - - migrationBuilder.CreateTable( - name: "Posts", - columns: table => new - { - PostId = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Title = table.Column(nullable: true), - Content = table.Column(nullable: true), - BlogId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Posts", x => x.PostId); - table.ForeignKey( - name: "FK_Posts_Blogs_BlogId", - column: x => x.BlogId, - principalTable: "Blogs", - principalColumn: "BlogId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_Posts_BlogId", - table: "Posts", - column: "BlogId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Posts"); - - migrationBuilder.DropTable( - name: "Blogs"); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/BloggingContextModelSnapshot.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/BloggingContextModelSnapshot.cs deleted file mode 100644 index fc060753a4..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Migrations/BloggingContextModelSnapshot.cs +++ /dev/null @@ -1,58 +0,0 @@ -// -using EFGetStarted.AspNetCore.NewDb.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace EFGetStarted.AspNetCore.NewDb.Migrations -{ - [DbContext(typeof(BloggingContext))] - partial class BloggingContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.2-rtm-30932"); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd(); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd(); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.HasOne("EFGetStarted.AspNetCore.NewDb.Models.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/ErrorViewModel.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/ErrorViewModel.cs deleted file mode 100644 index bd4d75d923..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/ErrorViewModel.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace EFGetStarted.AspNetCore.NewDb.Models -{ - public class ErrorViewModel - { - public string RequestId { get; set; } - - public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/Model.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/Model.cs deleted file mode 100644 index efe1eb436d..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Models/Model.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; - -namespace EFGetStarted.AspNetCore.NewDb.Models -{ - public class BloggingContext : DbContext - { - public BloggingContext(DbContextOptions options) - : base(options) - { } - - public DbSet Blogs { get; set; } - public DbSet Posts { get; set; } - } - - public class Blog - { - public int BlogId { get; set; } - public string Url { get; set; } - - public List Posts { get; set; } - } - - public class Post - { - public int PostId { get; set; } - public string Title { get; set; } - public string Content { get; set; } - - public int BlogId { get; set; } - public Blog Blog { get; set; } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Program.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Program.cs deleted file mode 100644 index b9afb6d577..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; - -namespace EFGetStarted.AspNetCore.NewDb -{ - public class Program - { - public static void Main(string[] args) - { - CreateWebHostBuilder(args).Build().Run(); - } - - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Startup.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Startup.cs deleted file mode 100644 index 4e77ad82bc..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Startup.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.HttpsPolicy; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -#region AddedUsings -using EFGetStarted.AspNetCore.NewDb.Models; -using Microsoft.EntityFrameworkCore; -#endregion - -namespace EFGetStarted.AspNetCore.NewDb -{ - public class Startup - { - public Startup(IConfiguration configuration) - { - Configuration = configuration; - } - - public IConfiguration Configuration { get; } - - // This method gets called by the runtime. Use this method to add services to the container. -#region ConfigureServices - public void ConfigureServices(IServiceCollection services) - { - services.Configure(options => - { - // This lambda determines whether user consent for non-essential cookies is needed for a given request. - options.CheckConsentNeeded = context => true; - options.MinimumSameSitePolicy = SameSiteMode.None; - }); - - services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); - - var connection = "Data Source=blogging.db"; - services.AddDbContext - (options => options.UseSqlite(connection)); - // BloggingContext requires - // using EFGetStarted.AspNetCore.NewDb.Models; - // UseSqlite requires - // using Microsoft.EntityFrameworkCore; - } -#endregion - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IHostingEnvironment env) - { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - app.UseHsts(); - } - - app.UseHttpsRedirection(); - app.UseStaticFiles(); - app.UseCookiePolicy(); - - app.UseMvc(routes => - { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Create.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Create.cshtml deleted file mode 100644 index f2a6ece135..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Create.cshtml +++ /dev/null @@ -1,33 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Create"; -} - -

Create

- -

Blog

-
-
-
-
-
-
- - - -
-
- -
-
-
-
- - - -@section Scripts { - @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Delete.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Delete.cshtml deleted file mode 100644 index 64fd2bd19d..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Delete.cshtml +++ /dev/null @@ -1,27 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Delete"; -} - -

Delete

- -

Are you sure you want to delete this?

-
-

Blog

-
-
-
- @Html.DisplayNameFor(model => model.Url) -
-
- @Html.DisplayFor(model => model.Url) -
-
- -
- - | - Back to List -
-
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Details.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Details.cshtml deleted file mode 100644 index 86e20ce9cc..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Details.cshtml +++ /dev/null @@ -1,24 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Details"; -} - -

Details

- -
-

Blog

-
-
-
- @Html.DisplayNameFor(model => model.Url) -
-
- @Html.DisplayFor(model => model.Url) -
-
-
- diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Edit.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Edit.cshtml deleted file mode 100644 index 2142f9f117..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Edit.cshtml +++ /dev/null @@ -1,34 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Edit"; -} - -

Edit

- -

Blog

-
-
-
-
-
- -
- - - -
-
- -
-
-
-
- - - -@section Scripts { - @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Index.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Index.cshtml deleted file mode 100644 index 0665a82610..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Blogs/Index.cshtml +++ /dev/null @@ -1,35 +0,0 @@ -@model IEnumerable - -@{ - ViewData["Title"] = "Index"; -} - -

Index

- -

- Create New -

- - - - - - - - -@foreach (var item in Model) { - - - - -} - -
- @Html.DisplayNameFor(model => model.Url) -
- @Html.DisplayFor(modelItem => item.Url) - - Edit | - Details | - Delete -
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/About.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/About.cshtml deleted file mode 100644 index 3674e37a86..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/About.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@{ - ViewData["Title"] = "About"; -} -

@ViewData["Title"]

-

@ViewData["Message"]

- -

Use this area to provide additional information.

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Contact.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Contact.cshtml deleted file mode 100644 index a11a1867cf..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Contact.cshtml +++ /dev/null @@ -1,17 +0,0 @@ -@{ - ViewData["Title"] = "Contact"; -} -

@ViewData["Title"]

-

@ViewData["Message"]

- -
- One Microsoft Way
- Redmond, WA 98052-6399
- P: - 425.555.0100 -
- -
- Support: Support@example.com
- Marketing: Marketing@example.com -
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Index.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Index.cshtml deleted file mode 100644 index f42d2a08bd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Index.cshtml +++ /dev/null @@ -1,94 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Privacy.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Privacy.cshtml deleted file mode 100644 index 7bd38619c6..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Home/Privacy.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Privacy Policy"; -} -

@ViewData["Title"]

- -

Use this page to detail your site's privacy policy.

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/Error.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/Error.cshtml deleted file mode 100644 index ec2ea6bd03..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/Error.cshtml +++ /dev/null @@ -1,22 +0,0 @@ -@model ErrorViewModel -@{ - ViewData["Title"] = "Error"; -} - -

Error.

-

An error occurred while processing your request.

- -@if (Model.ShowRequestId) -{ -

- Request ID: @Model.RequestId -

-} - -

Development Mode

-

- Swapping to Development environment will display more detailed information about the error that occurred. -

-

- Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. -

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_CookieConsentPartial.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_CookieConsentPartial.cshtml deleted file mode 100644 index bbfbb09acb..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_CookieConsentPartial.cshtml +++ /dev/null @@ -1,41 +0,0 @@ -@using Microsoft.AspNetCore.Http.Features - -@{ - var consentFeature = Context.Features.Get(); - var showBanner = !consentFeature?.CanTrack ?? false; - var cookieString = consentFeature?.CreateConsentCookie(); -} - -@if (showBanner) -{ - - -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_Layout.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_Layout.cshtml deleted file mode 100644 index 06b31e0374..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - @ViewData["Title"] - EFGetStarted.AspNetCore.NewDb - - - - - - - - - - - - - - - -
- @RenderBody() -
-
-

© 2018 - EFGetStarted.AspNetCore.NewDb

-
-
- - - - - - - - - - - - - @RenderSection("Scripts", required: false) - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_ValidationScriptsPartial.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_ValidationScriptsPartial.cshtml deleted file mode 100644 index 2a9241f596..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/Shared/_ValidationScriptsPartial.cshtml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewImports.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewImports.cshtml deleted file mode 100644 index 9ff59a1afd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using EFGetStarted.AspNetCore.NewDb -@using EFGetStarted.AspNetCore.NewDb.Models -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewStart.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewStart.cshtml deleted file mode 100644 index a5f10045db..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.Development.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.Development.json deleted file mode 100644 index e203e9407e..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.Development.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.json deleted file mode 100644 index def9159a7d..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/appsettings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/blogging.db b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/blogging.db deleted file mode 100644 index 9934682ea1d5f77ea6a40fa2a09b63028fd544d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28672 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 \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner2.svg b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner2.svg deleted file mode 100644 index 9679c604d0..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner3.svg b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner3.svg deleted file mode 100644 index 38b3d7cd1f..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/images/banner3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.js b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.js deleted file mode 100644 index ac49c18641..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.js +++ /dev/null @@ -1,4 +0,0 @@ -// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification -// for details on configuring this project to bundle and minify static web assets. - -// Write your JavaScript code. diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.min.js b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb.Sqlite/wwwroot/js/site.min.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/BlogsController.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/BlogsController.cs deleted file mode 100644 index 9817d92a8e..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/BlogsController.cs +++ /dev/null @@ -1,152 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.EntityFrameworkCore; -using EFGetStarted.AspNetCore.NewDb.Models; - -namespace EFGetStarted.AspNetCore.NewDb.Controllers -{ - public class BlogsController : Controller - { - private readonly BloggingContext _context; - - public BlogsController(BloggingContext context) - { - _context = context; - } - - // GET: Blogs - public async Task Index() - { - return View(await _context.Blogs.ToListAsync()); - } - - // GET: Blogs/Details/5 - public async Task Details(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blogs - .FirstOrDefaultAsync(m => m.BlogId == id); - if (blog == null) - { - return NotFound(); - } - - return View(blog); - } - - // GET: Blogs/Create - public IActionResult Create() - { - return View(); - } - - // POST: Blogs/Create - // To protect from overposting attacks, please enable the specific properties you want to bind to, for - // more details see http://go.microsoft.com/fwlink/?LinkId=317598. - [HttpPost] - [ValidateAntiForgeryToken] - public async Task Create([Bind("BlogId,Url")] Blog blog) - { - if (ModelState.IsValid) - { - _context.Add(blog); - await _context.SaveChangesAsync(); - return RedirectToAction(nameof(Index)); - } - return View(blog); - } - - // GET: Blogs/Edit/5 - public async Task Edit(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blogs.FindAsync(id); - if (blog == null) - { - return NotFound(); - } - return View(blog); - } - - // POST: Blogs/Edit/5 - // To protect from overposting attacks, please enable the specific properties you want to bind to, for - // more details see http://go.microsoft.com/fwlink/?LinkId=317598. - [HttpPost] - [ValidateAntiForgeryToken] - public async Task Edit(int id, [Bind("BlogId,Url")] Blog blog) - { - if (id != blog.BlogId) - { - return NotFound(); - } - - if (ModelState.IsValid) - { - try - { - _context.Update(blog); - await _context.SaveChangesAsync(); - } - catch (DbUpdateConcurrencyException) - { - if (!BlogExists(blog.BlogId)) - { - return NotFound(); - } - else - { - throw; - } - } - return RedirectToAction(nameof(Index)); - } - return View(blog); - } - - // GET: Blogs/Delete/5 - public async Task Delete(int? id) - { - if (id == null) - { - return NotFound(); - } - - var blog = await _context.Blogs - .FirstOrDefaultAsync(m => m.BlogId == id); - if (blog == null) - { - return NotFound(); - } - - return View(blog); - } - - // POST: Blogs/Delete/5 - [HttpPost, ActionName("Delete")] - [ValidateAntiForgeryToken] - public async Task DeleteConfirmed(int id) - { - var blog = await _context.Blogs.FindAsync(id); - _context.Blogs.Remove(blog); - await _context.SaveChangesAsync(); - return RedirectToAction(nameof(Index)); - } - - private bool BlogExists(int id) - { - return _context.Blogs.Any(e => e.BlogId == id); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/HomeController.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/HomeController.cs deleted file mode 100644 index 4f69ab448a..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Controllers/HomeController.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using EFGetStarted.AspNetCore.NewDb.Models; - -namespace EFGetStarted.AspNetCore.NewDb.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - - public IActionResult About() - { - ViewData["Message"] = "Your application description page."; - - return View(); - } - - public IActionResult Contact() - { - ViewData["Message"] = "Your contact page."; - - return View(); - } - - public IActionResult Privacy() - { - return View(); - } - - [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] - public IActionResult Error() - { - return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/EFGetStarted.AspNetCore.NewDb.csproj b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/EFGetStarted.AspNetCore.NewDb.csproj deleted file mode 100644 index f8b7d1dfd1..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/EFGetStarted.AspNetCore.NewDb.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - netcoreapp2.1 - - - - - - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.Designer.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.Designer.cs deleted file mode 100644 index 74e3667d9a..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.Designer.cs +++ /dev/null @@ -1,65 +0,0 @@ -// -using EFGetStarted.AspNetCore.NewDb.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace EFGetStarted.AspNetCore.NewDb.Migrations -{ - [DbContext(typeof(BloggingContext))] - [Migration("20180803155018_InitialCreate")] - partial class InitialCreate - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846") - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.HasOne("EFGetStarted.AspNetCore.NewDb.Models.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.cs deleted file mode 100644 index b42f1f3318..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/20180803155018_InitialCreate.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace EFGetStarted.AspNetCore.NewDb.Migrations -{ - public partial class InitialCreate : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Blogs", - columns: table => new - { - BlogId = table.Column(nullable: false) - .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), - Url = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Blogs", x => x.BlogId); - }); - - migrationBuilder.CreateTable( - name: "Posts", - columns: table => new - { - PostId = table.Column(nullable: false) - .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), - Title = table.Column(nullable: true), - Content = table.Column(nullable: true), - BlogId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Posts", x => x.PostId); - table.ForeignKey( - name: "FK_Posts_Blogs_BlogId", - column: x => x.BlogId, - principalTable: "Blogs", - principalColumn: "BlogId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_Posts_BlogId", - table: "Posts", - column: "BlogId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Posts"); - - migrationBuilder.DropTable( - name: "Blogs"); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/BloggingContextModelSnapshot.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/BloggingContextModelSnapshot.cs deleted file mode 100644 index 264b2aaed2..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Migrations/BloggingContextModelSnapshot.cs +++ /dev/null @@ -1,63 +0,0 @@ -// -using EFGetStarted.AspNetCore.NewDb.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace EFGetStarted.AspNetCore.NewDb.Migrations -{ - [DbContext(typeof(BloggingContext))] - partial class BloggingContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846") - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("EFGetStarted.AspNetCore.NewDb.Models.Post", b => - { - b.HasOne("EFGetStarted.AspNetCore.NewDb.Models.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/ErrorViewModel.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/ErrorViewModel.cs deleted file mode 100644 index bd4d75d923..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/ErrorViewModel.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace EFGetStarted.AspNetCore.NewDb.Models -{ - public class ErrorViewModel - { - public string RequestId { get; set; } - - public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/Model.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/Model.cs deleted file mode 100644 index 4bdff75238..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Models/Model.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; - -namespace EFGetStarted.AspNetCore.NewDb.Models -{ - public class BloggingContext : DbContext - { - public BloggingContext(DbContextOptions options) - : base(options) - { } - - public DbSet Blogs { get; set; } - public DbSet Posts { get; set; } - } - - public class Blog - { - public int BlogId { get; set; } - public string Url { get; set; } - - public ICollection Posts { get; set; } - } - - public class Post - { - public int PostId { get; set; } - public string Title { get; set; } - public string Content { get; set; } - - public int BlogId { get; set; } - public Blog Blog { get; set; } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Program.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Program.cs deleted file mode 100644 index b9afb6d577..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; - -namespace EFGetStarted.AspNetCore.NewDb -{ - public class Program - { - public static void Main(string[] args) - { - CreateWebHostBuilder(args).Build().Run(); - } - - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Properties/launchSettings.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Properties/launchSettings.json deleted file mode 100644 index e99eda3f1c..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Properties/launchSettings.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:53327", - "sslPort": 44319 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "EFGetStarted.AspNetCore.NewDb": { - "commandName": "Project", - "launchBrowser": true, - "applicationUrl": "https://localhost:5001;http://localhost:5000", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Startup.cs b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Startup.cs deleted file mode 100644 index 290eea6af2..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Startup.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.HttpsPolicy; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -#region AddedUsings -using EFGetStarted.AspNetCore.NewDb.Models; -using Microsoft.EntityFrameworkCore; -#endregion - -namespace EFGetStarted.AspNetCore.NewDb -{ - public class Startup - { - public Startup(IConfiguration configuration) - { - Configuration = configuration; - } - - public IConfiguration Configuration { get; } - - // This method gets called by the runtime. Use this method to add services to the container. -#region ConfigureServices - public void ConfigureServices(IServiceCollection services) - { - services.Configure(options => - { - // This lambda determines whether user consent for non-essential cookies is needed for a given request. - options.CheckConsentNeeded = context => true; - options.MinimumSameSitePolicy = SameSiteMode.None; - }); - - services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); - - var connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;ConnectRetryCount=0"; - services.AddDbContext - (options => options.UseSqlServer(connection)); - // BloggingContext requires - // using EFGetStarted.AspNetCore.NewDb.Models; - // UseSqlServer requires - // using Microsoft.EntityFrameworkCore; - } - #endregion - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IHostingEnvironment env) - { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - app.UseHsts(); - } - - app.UseHttpsRedirection(); - app.UseStaticFiles(); - app.UseCookiePolicy(); - - app.UseMvc(routes => - { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - }); - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Create.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Create.cshtml deleted file mode 100644 index f2ff633bfc..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Create.cshtml +++ /dev/null @@ -1,33 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Create"; -} - -

Create

- -

Blog

-
-
-
-
-
-
- - - -
-
- -
-
-
-
- - - -@section Scripts { - @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Delete.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Delete.cshtml deleted file mode 100644 index 2b59526383..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Delete.cshtml +++ /dev/null @@ -1,27 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Delete"; -} - -

Delete

- -

Are you sure you want to delete this?

-
-

Blog

-
-
-
- @Html.DisplayNameFor(model => model.Url) -
-
- @Html.DisplayFor(model => model.Url) -
-
- -
- - | - Back to List -
-
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Details.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Details.cshtml deleted file mode 100644 index 9306c63bd4..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Details.cshtml +++ /dev/null @@ -1,24 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Details"; -} - -

Details

- -
-

Blog

-
-
-
- @Html.DisplayNameFor(model => model.Url) -
-
- @Html.DisplayFor(model => model.Url) -
-
-
- diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Edit.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Edit.cshtml deleted file mode 100644 index ec897676dc..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Edit.cshtml +++ /dev/null @@ -1,34 +0,0 @@ -@model EFGetStarted.AspNetCore.NewDb.Models.Blog - -@{ - ViewData["Title"] = "Edit"; -} - -

Edit

- -

Blog

-
-
-
-
-
- -
- - - -
-
- -
-
-
-
- - - -@section Scripts { - @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Index.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Index.cshtml deleted file mode 100644 index f647d24855..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Blogs/Index.cshtml +++ /dev/null @@ -1,35 +0,0 @@ -@model IEnumerable - -@{ - ViewData["Title"] = "Index"; -} - -

Index

- -

- Create New -

- - - - - - - - -@foreach (var item in Model) { - - - - -} - -
- @Html.DisplayNameFor(model => model.Url) -
- @Html.DisplayFor(modelItem => item.Url) - - Edit | - Details | - Delete -
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/About.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/About.cshtml deleted file mode 100644 index 3674e37a86..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/About.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@{ - ViewData["Title"] = "About"; -} -

@ViewData["Title"]

-

@ViewData["Message"]

- -

Use this area to provide additional information.

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Contact.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Contact.cshtml deleted file mode 100644 index a11a1867cf..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Contact.cshtml +++ /dev/null @@ -1,17 +0,0 @@ -@{ - ViewData["Title"] = "Contact"; -} -

@ViewData["Title"]

-

@ViewData["Message"]

- -
- One Microsoft Way
- Redmond, WA 98052-6399
- P: - 425.555.0100 -
- -
- Support: Support@example.com
- Marketing: Marketing@example.com -
diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Index.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Index.cshtml deleted file mode 100644 index f42d2a08bd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Index.cshtml +++ /dev/null @@ -1,94 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Privacy.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Privacy.cshtml deleted file mode 100644 index 7bd38619c6..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Home/Privacy.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Privacy Policy"; -} -

@ViewData["Title"]

- -

Use this page to detail your site's privacy policy.

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/Error.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/Error.cshtml deleted file mode 100644 index ec2ea6bd03..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/Error.cshtml +++ /dev/null @@ -1,22 +0,0 @@ -@model ErrorViewModel -@{ - ViewData["Title"] = "Error"; -} - -

Error.

-

An error occurred while processing your request.

- -@if (Model.ShowRequestId) -{ -

- Request ID: @Model.RequestId -

-} - -

Development Mode

-

- Swapping to Development environment will display more detailed information about the error that occurred. -

-

- Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. -

diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_CookieConsentPartial.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_CookieConsentPartial.cshtml deleted file mode 100644 index bbfbb09acb..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_CookieConsentPartial.cshtml +++ /dev/null @@ -1,41 +0,0 @@ -@using Microsoft.AspNetCore.Http.Features - -@{ - var consentFeature = Context.Features.Get(); - var showBanner = !consentFeature?.CanTrack ?? false; - var cookieString = consentFeature?.CreateConsentCookie(); -} - -@if (showBanner) -{ - - -} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_Layout.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_Layout.cshtml deleted file mode 100644 index 06b31e0374..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - @ViewData["Title"] - EFGetStarted.AspNetCore.NewDb - - - - - - - - - - - - - - - -
- @RenderBody() -
-
-

© 2018 - EFGetStarted.AspNetCore.NewDb

-
-
- - - - - - - - - - - - - @RenderSection("Scripts", required: false) - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_ValidationScriptsPartial.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_ValidationScriptsPartial.cshtml deleted file mode 100644 index 2a9241f596..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/Shared/_ValidationScriptsPartial.cshtml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewImports.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewImports.cshtml deleted file mode 100644 index 9ff59a1afd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using EFGetStarted.AspNetCore.NewDb -@using EFGetStarted.AspNetCore.NewDb.Models -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewStart.cshtml b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewStart.cshtml deleted file mode 100644 index a5f10045db..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.Development.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.Development.json deleted file mode 100644 index e203e9407e..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.Development.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.json b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.json deleted file mode 100644 index def9159a7d..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/appsettings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.css b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.css deleted file mode 100644 index e89c7811cd..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.css +++ /dev/null @@ -1,37 +0,0 @@ -/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\ -for details on configuring this project to bundle and minify static web assets. */ -body { - padding-top: 50px; - padding-bottom: 20px; -} - -/* Wrapping element */ -/* Set some basic padding to keep content from hitting the edges */ -.body-content { - padding-left: 15px; - padding-right: 15px; -} - -/* Carousel */ -.carousel-caption p { - font-size: 20px; - line-height: 1.4; -} - -/* Make .svg files in the carousel display properly in older browsers */ -.carousel-inner .item img[src$=".svg"] { - width: 100%; -} - -/* QR code generator */ -#qrCode { - margin: 15px; -} - -/* Hide/rearrange for smaller screens */ -@media screen and (max-width: 767px) { - /* Hide captions */ - .carousel-caption { - display: none; - } -} diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.min.css b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.min.css deleted file mode 100644 index 5e93e30ae3..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/css/site.min.css +++ /dev/null @@ -1 +0,0 @@ -body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}} \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/favicon.ico b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/favicon.ico deleted file mode 100644 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner2.svg b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner2.svg deleted file mode 100644 index 9679c604d0..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner3.svg b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner3.svg deleted file mode 100644 index 38b3d7cd1f..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/images/banner3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.js b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.js deleted file mode 100644 index ac49c18641..0000000000 --- a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.js +++ /dev/null @@ -1,4 +0,0 @@ -// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification -// for details on configuring this project to bundle and minify static web assets. - -// Write your JavaScript code. diff --git a/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.min.js b/samples/core/GetStarted/AspNetCore/EFGetStarted.AspNetCore.NewDb/wwwroot/js/site.min.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/samples/core/GetStarted/EFGetStarted.csproj b/samples/core/GetStarted/EFGetStarted.csproj new file mode 100644 index 0000000000..414d5026f6 --- /dev/null +++ b/samples/core/GetStarted/EFGetStarted.csproj @@ -0,0 +1,17 @@ + + + + Exe + netcoreapp3.0 + $(MSBuildProjectDirectory) + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/App.config b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/App.config deleted file mode 100644 index 9a6820f73a..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Blog.cs b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Blog.cs deleted file mode 100644 index cf4176def0..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Blog.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace ConsoleApp.ExistingDb -{ - public partial class Blog - { - public Blog() - { - Post = new HashSet(); - } - - public int BlogId { get; set; } - public string Url { get; set; } - - public ICollection Post { get; set; } - } -} diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/BloggingContext.cs b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/BloggingContext.cs deleted file mode 100644 index e125310b46..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/BloggingContext.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata; - -namespace ConsoleApp.ExistingDb -{ - public partial class BloggingContext : DbContext - { - public BloggingContext() - { - } - - public BloggingContext(DbContextOptions options) - : base(options) - { - } - - public virtual DbSet Blog { get; set; } - public virtual DbSet Post { get; set; } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - if (!optionsBuilder.IsConfigured) - { -#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings. - optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"); - } - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity(entity => - { - entity.Property(e => e.Url).IsRequired(); - }); - - modelBuilder.Entity(entity => - { - entity.HasOne(d => d.Blog) - .WithMany(p => p.Post) - .HasForeignKey(d => d.BlogId); - }); - } - } -} diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/ConsoleApp.ExistingDb.csproj b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/ConsoleApp.ExistingDb.csproj deleted file mode 100644 index 42d795f113..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/ConsoleApp.ExistingDb.csproj +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Debug - AnyCPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64} - Exe - ConsoleApp.ExistingDb - ConsoleApp.ExistingDb - v4.6.1 - 512 - true - - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Abstractions.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.Design.2.1.1\lib\net461\Microsoft.EntityFrameworkCore.Design.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.Relational.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.SqlServer.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.SqlServer.dll - - - ..\..\..\packages\Microsoft.Extensions.Caching.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Caching.Memory.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll - - - ..\..\..\packages\Microsoft.Extensions.Configuration.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll - - - ..\..\..\packages\Microsoft.Extensions.Configuration.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Configuration.Binder.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll - - - ..\..\..\packages\Microsoft.Extensions.DependencyInjection.2.1.1\lib\net461\Microsoft.Extensions.DependencyInjection.dll - - - ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Logging.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.dll - - - ..\..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Options.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll - - - ..\..\..\packages\Microsoft.Extensions.Primitives.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll - - - ..\..\..\packages\Remotion.Linq.2.2.0\lib\net45\Remotion.Linq.dll - - - - ..\..\..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll - - - ..\..\..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll - - - ..\..\..\packages\System.ComponentModel.Annotations.4.5.0\lib\net461\System.ComponentModel.Annotations.dll - - - - - ..\..\..\packages\System.Data.SqlClient.4.5.1\lib\net461\System.Data.SqlClient.dll - - - ..\..\..\packages\System.Diagnostics.DiagnosticSource.4.5.0\lib\net46\System.Diagnostics.DiagnosticSource.dll - - - ..\..\..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll - - - ..\..\..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll - - - - ..\..\..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll - - - ..\..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.1\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - - - - - - - - - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Post.cs b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Post.cs deleted file mode 100644 index 85e6b452ac..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Post.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace ConsoleApp.ExistingDb -{ - public partial class Post - { - public int PostId { get; set; } - public int BlogId { get; set; } - public string Content { get; set; } - public string Title { get; set; } - - public Blog Blog { get; set; } - } -} diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Program.cs b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Program.cs deleted file mode 100644 index fd0287905f..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; - -namespace ConsoleApp.ExistingDb -{ - class Program - { - static void Main(string[] args) - { - using (var db = new BloggingContext()) - { - db.Blog.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); - var count = db.SaveChanges(); - Console.WriteLine("{0} records saved to database", count); - - Console.WriteLine(); - Console.WriteLine("All blogs in database:"); - foreach (var blog in db.Blog) - { - Console.WriteLine(" - {0}", blog.Url); - } - } - } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Properties/AssemblyInfo.cs b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Properties/AssemblyInfo.cs deleted file mode 100644 index b5daa696e8..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ConsoleApp.ExistingDb")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ConsoleApp.ExistingDb")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("01aeb498-d8a2-4dfa-be6d-6ed24511ed64")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/packages.config b/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/packages.config deleted file mode 100644 index 7e2881707b..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.ExistingDb/packages.config +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/App.config b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/App.config deleted file mode 100644 index 9a6820f73a..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/ConsoleApp.NewDb.csproj b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/ConsoleApp.NewDb.csproj deleted file mode 100644 index 00b2250e55..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/ConsoleApp.NewDb.csproj +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Debug - AnyCPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0} - Exe - ConsoleApp.NewDb - ConsoleApp.NewDb - v4.6.1 - 512 - true - - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Abstractions.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.Design.2.1.1\lib\net461\Microsoft.EntityFrameworkCore.Design.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.Relational.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll - - - ..\..\..\packages\Microsoft.EntityFrameworkCore.SqlServer.2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.SqlServer.dll - - - ..\..\..\packages\Microsoft.Extensions.Caching.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Caching.Memory.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll - - - ..\..\..\packages\Microsoft.Extensions.Configuration.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll - - - ..\..\..\packages\Microsoft.Extensions.Configuration.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Configuration.Binder.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll - - - ..\..\..\packages\Microsoft.Extensions.DependencyInjection.2.1.1\lib\net461\Microsoft.Extensions.DependencyInjection.dll - - - ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Logging.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.dll - - - ..\..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll - - - ..\..\..\packages\Microsoft.Extensions.Options.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll - - - ..\..\..\packages\Microsoft.Extensions.Primitives.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll - - - ..\..\..\packages\Remotion.Linq.2.2.0\lib\net45\Remotion.Linq.dll - - - - ..\..\..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll - - - ..\..\..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll - - - ..\..\..\packages\System.ComponentModel.Annotations.4.5.0\lib\net461\System.ComponentModel.Annotations.dll - - - - - ..\..\..\packages\System.Data.SqlClient.4.5.1\lib\net461\System.Data.SqlClient.dll - - - ..\..\..\packages\System.Diagnostics.DiagnosticSource.4.5.0\lib\net46\System.Diagnostics.DiagnosticSource.dll - - - ..\..\..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll - - - ..\..\..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll - - - - ..\..\..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll - - - ..\..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.1\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - - - - - - - - - - - 20180806165801_InitialCreate.cs - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.Designer.cs b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.Designer.cs deleted file mode 100644 index 2d233fbea2..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.Designer.cs +++ /dev/null @@ -1,65 +0,0 @@ -// -using ConsoleApp.NewDb; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace ConsoleApp.NewDb.Migrations -{ - [DbContext(typeof(BloggingContext))] - [Migration("20180806165801_InitialCreate")] - partial class InitialCreate - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846") - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("ConsoleApp.NewDb.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("ConsoleApp.NewDb.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("ConsoleApp.NewDb.Post", b => - { - b.HasOne("ConsoleApp.NewDb.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.cs b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.cs deleted file mode 100644 index 572ecb2939..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/20180806165801_InitialCreate.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace ConsoleApp.NewDb.Migrations -{ - public partial class InitialCreate : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Blogs", - columns: table => new - { - BlogId = table.Column(nullable: false) - .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), - Url = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Blogs", x => x.BlogId); - }); - - migrationBuilder.CreateTable( - name: "Posts", - columns: table => new - { - PostId = table.Column(nullable: false) - .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), - Title = table.Column(nullable: true), - Content = table.Column(nullable: true), - BlogId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Posts", x => x.PostId); - table.ForeignKey( - name: "FK_Posts_Blogs_BlogId", - column: x => x.BlogId, - principalTable: "Blogs", - principalColumn: "BlogId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_Posts_BlogId", - table: "Posts", - column: "BlogId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Posts"); - - migrationBuilder.DropTable( - name: "Blogs"); - } - } -} diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/BloggingContextModelSnapshot.cs b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/BloggingContextModelSnapshot.cs deleted file mode 100644 index 543d5187e2..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Migrations/BloggingContextModelSnapshot.cs +++ /dev/null @@ -1,63 +0,0 @@ -// -using ConsoleApp.NewDb; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace ConsoleApp.NewDb.Migrations -{ - [DbContext(typeof(BloggingContext))] - partial class BloggingContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846") - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("ConsoleApp.NewDb.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("ConsoleApp.NewDb.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd() - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("ConsoleApp.NewDb.Post", b => - { - b.HasOne("ConsoleApp.NewDb.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Model.cs b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Model.cs deleted file mode 100644 index cbab3bd026..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Model.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; - -namespace ConsoleApp.NewDb -{ - public class BloggingContext : DbContext - { - public DbSet Blogs { get; set; } - public DbSet Posts { get; set; } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;"); - } - } - - public class Blog - { - public int BlogId { get; set; } - public string Url { get; set; } - - public List Posts { get; set; } - } - - public class Post - { - public int PostId { get; set; } - public string Title { get; set; } - public string Content { get; set; } - - public int BlogId { get; set; } - public Blog Blog { get; set; } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Program.cs b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Program.cs deleted file mode 100644 index 6bd219b56c..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; - -namespace ConsoleApp.NewDb -{ - class Program - { - static void Main(string[] args) - { - using (var db = new BloggingContext()) - { - db.Blogs.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); - var count = db.SaveChanges(); - Console.WriteLine("{0} records saved to database", count); - - Console.WriteLine(); - Console.WriteLine("All blogs in database:"); - foreach (var blog in db.Blogs) - { - Console.WriteLine(" - {0}", blog.Url); - } - } - } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Properties/AssemblyInfo.cs b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Properties/AssemblyInfo.cs deleted file mode 100644 index 3b71fdb0b5..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ConsoleApp.NewDb")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ConsoleApp.NewDb")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("bcf1fce4-8d96-4265-96e0-d0aa8aadbdf0")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/packages.config b/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/packages.config deleted file mode 100644 index 7e2881707b..0000000000 --- a/samples/core/GetStarted/FullNet/ConsoleApp.NewDb/packages.config +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/Migrations/20190917222642_InitialCreate.Designer.cs b/samples/core/GetStarted/Migrations/20190917222642_InitialCreate.Designer.cs new file mode 100644 index 0000000000..1f9c356cc0 --- /dev/null +++ b/samples/core/GetStarted/Migrations/20190917222642_InitialCreate.Designer.cs @@ -0,0 +1,67 @@ +// +using EFGetStarted; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace EFGetStarted.Migrations +{ + [DbContext(typeof(BloggingContext))] + [Migration("20190917222642_InitialCreate")] + partial class InitialCreate + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.0.0-rc1.19456.14"); + + modelBuilder.Entity("EFGetStarted.Blog", b => + { + b.Property("BlogId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Url") + .HasColumnType("TEXT"); + + b.HasKey("BlogId"); + + b.ToTable("Blogs"); + }); + + modelBuilder.Entity("EFGetStarted.Post", b => + { + b.Property("PostId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("BlogId") + .HasColumnType("INTEGER"); + + b.Property("Content") + .HasColumnType("TEXT"); + + b.Property("Title") + .HasColumnType("TEXT"); + + b.HasKey("PostId"); + + b.HasIndex("BlogId"); + + b.ToTable("Posts"); + }); + + modelBuilder.Entity("EFGetStarted.Post", b => + { + b.HasOne("EFGetStarted.Blog", "Blog") + .WithMany("Posts") + .HasForeignKey("BlogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.cs b/samples/core/GetStarted/Migrations/20190917222642_InitialCreate.cs similarity index 98% rename from samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.cs rename to samples/core/GetStarted/Migrations/20190917222642_InitialCreate.cs index 297ffb5d2e..f6a1809b76 100644 --- a/samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.cs +++ b/samples/core/GetStarted/Migrations/20190917222642_InitialCreate.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore.Migrations; -namespace Blogging.Model.Migrations +namespace EFGetStarted.Migrations { public partial class InitialCreate : Migration { diff --git a/samples/core/GetStarted/Migrations/BloggingContextModelSnapshot.cs b/samples/core/GetStarted/Migrations/BloggingContextModelSnapshot.cs new file mode 100644 index 0000000000..56a150c267 --- /dev/null +++ b/samples/core/GetStarted/Migrations/BloggingContextModelSnapshot.cs @@ -0,0 +1,65 @@ +// +using EFGetStarted; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace EFGetStarted.Migrations +{ + [DbContext(typeof(BloggingContext))] + partial class BloggingContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.0.0-rc1.19456.14"); + + modelBuilder.Entity("EFGetStarted.Blog", b => + { + b.Property("BlogId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Url") + .HasColumnType("TEXT"); + + b.HasKey("BlogId"); + + b.ToTable("Blogs"); + }); + + modelBuilder.Entity("EFGetStarted.Post", b => + { + b.Property("PostId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("BlogId") + .HasColumnType("INTEGER"); + + b.Property("Content") + .HasColumnType("TEXT"); + + b.Property("Title") + .HasColumnType("TEXT"); + + b.HasKey("PostId"); + + b.HasIndex("BlogId"); + + b.ToTable("Posts"); + }); + + modelBuilder.Entity("EFGetStarted.Post", b => + { + b.HasOne("EFGetStarted.Blog", "Blog") + .WithMany("Posts") + .HasForeignKey("BlogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/samples/core/GetStarted/UWP/Blogging.Model/Model.cs b/samples/core/GetStarted/Model.cs similarity index 69% rename from samples/core/GetStarted/UWP/Blogging.Model/Model.cs rename to samples/core/GetStarted/Model.cs index 249cf65bbb..21d2afde19 100644 --- a/samples/core/GetStarted/UWP/Blogging.Model/Model.cs +++ b/samples/core/GetStarted/Model.cs @@ -1,17 +1,15 @@ -using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace Blogging.Model +namespace EFGetStarted { public class BloggingContext : DbContext { public DbSet Blogs { get; set; } public DbSet Posts { get; set; } - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - optionsBuilder.UseSqlite("Data Source=blogging.db"); - } + protected override void OnConfiguring(DbContextOptionsBuilder options) + => options.UseSqlite("Data Source=blogging.db"); } public class Blog @@ -19,7 +17,7 @@ public class Blog public int BlogId { get; set; } public string Url { get; set; } - public List Posts { get; set; } + public List Posts { get; } = new List(); } public class Post @@ -31,4 +29,4 @@ public class Post public int BlogId { get; set; } public Blog Blog { get; set; } } -} \ No newline at end of file +} diff --git a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/ConsoleApp.SQLite.csproj b/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/ConsoleApp.SQLite.csproj deleted file mode 100644 index ab868bb887..0000000000 --- a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/ConsoleApp.SQLite.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp2.1 - - - - - - - - diff --git a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.Designer.cs b/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.Designer.cs deleted file mode 100644 index 1cae54fdbe..0000000000 --- a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.Designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -// -using ConsoleApp.SQLite; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace ConsoleApp.SQLite.Migrations -{ - [DbContext(typeof(BloggingContext))] - [Migration("20180704154314_InitialCreate")] - partial class InitialCreate - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846"); - - modelBuilder.Entity("ConsoleApp.SQLite.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd(); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("ConsoleApp.SQLite.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd(); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("ConsoleApp.SQLite.Post", b => - { - b.HasOne("ConsoleApp.SQLite.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.cs b/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.cs deleted file mode 100644 index 5058b9a763..0000000000 --- a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/20180704154314_InitialCreate.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace ConsoleApp.SQLite.Migrations -{ - public partial class InitialCreate : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Blogs", - columns: table => new - { - BlogId = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Url = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Blogs", x => x.BlogId); - }); - - migrationBuilder.CreateTable( - name: "Posts", - columns: table => new - { - PostId = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Title = table.Column(nullable: true), - Content = table.Column(nullable: true), - BlogId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Posts", x => x.PostId); - table.ForeignKey( - name: "FK_Posts_Blogs_BlogId", - column: x => x.BlogId, - principalTable: "Blogs", - principalColumn: "BlogId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_Posts_BlogId", - table: "Posts", - column: "BlogId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Posts"); - - migrationBuilder.DropTable( - name: "Blogs"); - } - } -} diff --git a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/BloggingContextModelSnapshot.cs b/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/BloggingContextModelSnapshot.cs deleted file mode 100644 index ecbd357a82..0000000000 --- a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Migrations/BloggingContextModelSnapshot.cs +++ /dev/null @@ -1,58 +0,0 @@ -// -using ConsoleApp.SQLite; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace ConsoleApp.SQLite.Migrations -{ - [DbContext(typeof(BloggingContext))] - partial class BloggingContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846"); - - modelBuilder.Entity("ConsoleApp.SQLite.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd(); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("ConsoleApp.SQLite.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd(); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("ConsoleApp.SQLite.Post", b => - { - b.HasOne("ConsoleApp.SQLite.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Model.cs b/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Model.cs deleted file mode 100644 index dc9c7e5d7f..0000000000 --- a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Model.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; - -namespace ConsoleApp.SQLite -{ - public class BloggingContext : DbContext - { - public DbSet Blogs { get; set; } - public DbSet Posts { get; set; } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - optionsBuilder.UseSqlite("Data Source=blogging.db"); - } - } - - public class Blog - { - public int BlogId { get; set; } - public string Url { get; set; } - - public ICollection Posts { get; set; } - } - - public class Post - { - public int PostId { get; set; } - public string Title { get; set; } - public string Content { get; set; } - - public int BlogId { get; set; } - public Blog Blog { get; set; } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Program.cs b/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Program.cs deleted file mode 100644 index 6e1a8b14ad..0000000000 --- a/samples/core/GetStarted/NetCore/ConsoleApp.SQLite/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; - -namespace ConsoleApp.SQLite -{ - public class Program - { - public static void Main() - { - using (var db = new BloggingContext()) - { - db.Blogs.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); - var count = db.SaveChanges(); - Console.WriteLine("{0} records saved to database", count); - - Console.WriteLine(); - Console.WriteLine("All blogs in database:"); - foreach (var blog in db.Blogs) - { - Console.WriteLine(" - {0}", blog.Url); - } - } - } - } -} \ No newline at end of file diff --git a/samples/core/GetStarted/Program.cs b/samples/core/GetStarted/Program.cs new file mode 100644 index 0000000000..0ed347fcbe --- /dev/null +++ b/samples/core/GetStarted/Program.cs @@ -0,0 +1,41 @@ +using System; +using System.Linq; + +namespace EFGetStarted +{ + class Program + { + static void Main() + { + using (var db = new BloggingContext()) + { + // Create + Console.WriteLine("Inserting a new blog"); + db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); + db.SaveChanges(); + + // Read + Console.WriteLine("Querying for a blog"); + var blog = db.Blogs + .OrderBy(b => b.BlogId) + .First(); + + // Update + Console.WriteLine("Updating the blog and adding a post"); + blog.Url = "https://devblogs.microsoft.com/dotnet"; + blog.Posts.Add( + new Post + { + Title = "Hello World", + Content = "I wrote an app using EF Core!" + }); + db.SaveChanges(); + + // Delete + Console.WriteLine("Delete the blog"); + db.Remove(blog); + db.SaveChanges(); + } + } + } +} diff --git a/samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Blogging.Migrations.Startup.csproj b/samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Blogging.Migrations.Startup.csproj deleted file mode 100644 index 42b315883a..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Blogging.Migrations.Startup.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - Exe - netcoreapp2.1 - - - - - - - diff --git a/samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Program.cs b/samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Program.cs deleted file mode 100644 index 0ee0ed7384..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.Migrations.Startup/Program.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace Blogging.Migrations.Startup -{ - class Program - { - static void Main(string[] args) - { - Console.WriteLine("Hello World!"); - } - } -} diff --git a/samples/core/GetStarted/UWP/Blogging.Model/Blogging.Model.csproj b/samples/core/GetStarted/UWP/Blogging.Model/Blogging.Model.csproj deleted file mode 100644 index 2a0c347ea5..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.Model/Blogging.Model.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - netstandard2.0 - - - - - - - - diff --git a/samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.Designer.cs b/samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.Designer.cs deleted file mode 100644 index b653c8544b..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.Model/Migrations/20180810013553_InitialCreate.Designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -// -using Blogging.Model; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace Blogging.Model.Migrations -{ - [DbContext(typeof(BloggingContext))] - [Migration("20180810013553_InitialCreate")] - partial class InitialCreate - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846"); - - modelBuilder.Entity("Blogging.Model.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd(); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("Blogging.Model.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd(); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("Blogging.Model.Post", b => - { - b.HasOne("Blogging.Model.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/UWP/Blogging.Model/Migrations/BloggingContextModelSnapshot.cs b/samples/core/GetStarted/UWP/Blogging.Model/Migrations/BloggingContextModelSnapshot.cs deleted file mode 100644 index 8063d19b05..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.Model/Migrations/BloggingContextModelSnapshot.cs +++ /dev/null @@ -1,58 +0,0 @@ -// -using Blogging.Model; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace Blogging.Model.Migrations -{ - [DbContext(typeof(BloggingContext))] - partial class BloggingContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846"); - - modelBuilder.Entity("Blogging.Model.Blog", b => - { - b.Property("BlogId") - .ValueGeneratedOnAdd(); - - b.Property("Url"); - - b.HasKey("BlogId"); - - b.ToTable("Blogs"); - }); - - modelBuilder.Entity("Blogging.Model.Post", b => - { - b.Property("PostId") - .ValueGeneratedOnAdd(); - - b.Property("BlogId"); - - b.Property("Content"); - - b.Property("Title"); - - b.HasKey("PostId"); - - b.HasIndex("BlogId"); - - b.ToTable("Posts"); - }); - - modelBuilder.Entity("Blogging.Model.Post", b => - { - b.HasOne("Blogging.Model.Blog", "Blog") - .WithMany("Posts") - .HasForeignKey("BlogId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/App.xaml b/samples/core/GetStarted/UWP/Blogging.UWP/App.xaml deleted file mode 100644 index 093bf01bc2..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/App.xaml +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/App.xaml.cs b/samples/core/GetStarted/UWP/Blogging.UWP/App.xaml.cs deleted file mode 100644 index 1608637925..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/App.xaml.cs +++ /dev/null @@ -1,97 +0,0 @@ -using Blogging.Model; -using Microsoft.EntityFrameworkCore; -using System; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Navigation; - -namespace Blogging.UWP -{ - /// - /// Provides application-specific behavior to supplement the default Application class. - /// - sealed partial class App : Application - { - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - public App() - { - this.InitializeComponent(); - this.Suspending += OnSuspending; - - using (var db = new BloggingContext()) - { - db.Database.Migrate(); - } - } - - /// - /// Invoked when the application is launched normally by the end user. Other entry points - /// will be used such as when the application is launched to open a specific file. - /// - /// Details about the launch request and process. - protected override void OnLaunched(LaunchActivatedEventArgs e) - { - Frame rootFrame = Window.Current.Content as Frame; - - // Do not repeat app initialization when the Window already has content, - // just ensure that the window is active - if (rootFrame == null) - { - // Create a Frame to act as the navigation context and navigate to the first page - rootFrame = new Frame(); - - rootFrame.NavigationFailed += OnNavigationFailed; - - if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) - { - //TODO: Load state from previously suspended application - } - - // Place the frame in the current Window - Window.Current.Content = rootFrame; - } - - if (e.PrelaunchActivated == false) - { - if (rootFrame.Content == null) - { - // When the navigation stack isn't restored navigate to the first page, - // configuring the new page by passing required information as a navigation - // parameter - rootFrame.Navigate(typeof(MainPage), e.Arguments); - } - // Ensure the current window is active - Window.Current.Activate(); - } - } - - /// - /// Invoked when Navigation to a certain page fails - /// - /// The Frame which failed navigation - /// Details about the navigation failure - void OnNavigationFailed(object sender, NavigationFailedEventArgs e) - { - throw new Exception("Failed to load Page " + e.SourcePageType.FullName); - } - - /// - /// Invoked when application execution is being suspended. Application state is saved - /// without knowing whether the application will be terminated or resumed with the contents - /// of memory still intact. - /// - /// The source of the suspend request. - /// Details about the suspend request. - private void OnSuspending(object sender, SuspendingEventArgs e) - { - var deferral = e.SuspendingOperation.GetDeferral(); - //TODO: Save application state and stop any background activity - deferral.Complete(); - } - } -} diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/LockScreenLogo.scale-200.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 735f57adb5dfc01886d137b4e493d7e97cf13af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/SplashScreen.scale-200.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 023e7f1feda78d5100569825acedfd213a0d84e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7700 zcmeHLYj~4Yw%(;oxoEH#Kxq-eR|+VkP17b#Vk;?4QwkI+A{L04G+#<<(x#Un1#+h5>eArRq zTw$)ZvTWW_Y?bDho0nPVTh08+s`sp!j74rJTTtXIDww0SILedFv?sZ?yb@@}GN;#8 znk_b~Q(A0YR#uV4ef!osoV1M3;vQ8N$O|fStfgf$S5;ddUNv`tWtGjM;koG#N;7M< zP*84lnx(bn_KF&9Z5Ai$)#Cs3a|$OFw>WKCT$of*L7_CqQEinflT|W{JT+aKp-E0v zsxmYg)1(T>DROm+LN1eQw8}KCTp=C!$H7`PU!t9_Hw@TsTI2`udRZv*!a5`#A9hK6Y95L(CDUX&_@QxKV z_feX{UhA#ZWlvgpL$#w^D#lq`_A4AzDqd|Zv6y9PX&DNcN|l}_D^{q@GG&H^Pg583 z8FI6N8^H7b5WjGp;urW)d7F+_lcp%KsLX0viCmE(OHH+=%ZfD_=`voUuoUxFO^L;- z;!;2{g-YiiO6m4bs89OuF9!p{FGtH-f%8<2gY!h9s)4ciN%{Kh1+`}{^}M~+TDH9N z^Z5PlgVXMC&2&k*Hw^Lb9gny#ro$MOIxIt{+r)EA10$VR3 zanN8D{TUkl+v0CQ_>ZoHP<M-x#8@8ZiT#$Kh`(uRaX1g$Bg|qy$<#7 zSSAi{Nb8Y=lvNVeio+UGLCAtoLBfL`iOv`)yoJMDJBN>4IH@(l7YRF;61@>qq1iM9 zr@b#OC~SAxSle?5Pp8Z78{VO0YFr1x7kZU64Z23eLf2T2#6J_t;-E}DkB?NufZ0Ug zi?J&byXeaB-uTNVhuiM!UVQw}bZrJ3GtAETYp->!{q#zfN7D3AS9@Q7*V^85jGx#R z(QxYV(wW#F0XF9^^s>>H8pPlVJ>)3Oz z&_X8Sf@~?cH_O*cgi$U#`v`RRfv#y3m(ZpKk^5uLup+lVs$~}FZU$r_+}#hl%?g5m z-u-}-666ssp-xWQak~>PPy$mRc|~?pVSs1_@mBEXpPVfLF6(Ktf1S* zPPh@QZ=tFMs?LM2(5P3L2;l_6XX6s&cYsP1ip#eg0`ZEP0HGYh{UmS@o`MihLLvkU zgyAG0G`b1|qjxxh1(ODKFE%AP}Dq=3vK$P7TXP4GrM1kQ72!GUVMDl`rDC&2;TA}*nF z8$nQD&6ys_nc1*E7$*1S@R8$ymy(sQV}imGSedB@{!QR5P&N_H=-^o!?LsWs+2|mH z-e=)T^SvI)=_JIm7}j4;@*Z17=(#}m=~YF~z~CLI+vdAGlJDcdF$TM?CVI1%LhUrN zaa6DJ=Yh$)$k&Oz{-~8yw^GM^8prYxSxo zvI4k#ibryMa%%*8oI-5m61Koa_A_xg=(fwp0aBX{;X4Q;NXUhtaoJDo1>TqhWtn=_ zd5~chq#&6~c%8JZK#t_&J(9EVUU&upYeIovLt1>vaHe}UUq>#RGQj!EN#5+0@T`(@ z^g~>*c`VGRiSt;!$_4+0hk^I!@O3``5=sZ8IwlxWW7km1B&_t&E*u0_9UBa#VqwY* zz>nxv?FAsVnRaD(Bui=6i==BFUw0k4n$>`umU`F2l?7CYTD^)c2X+d9X&ddS9|gj? zM?knGkGCX&W8offw8aLC2$D{PjC3nVZwd4k?eZH8*mZ)U@3Qk8RDFOz_#WUA#vnzy zyP>KrCfKwSXea7}jgJjBc}PGY+4#6%lbZyjhy`5sZd_Vy6Wz;ixa?czkN}J9It1K6 zY!eu>|AwF^fwZlLAYyQI*lM@^>O>Iu6Vf6i>Q$?v!SeUS<{>UYMwz$*%Aq?w^`j{h z!$GZbhu=^D{&ET8;))LL%ZBDZkQqRd2;u~!d9bHGmLRhLDctNgYyjsuvoSZ#iVdoB z2!f--UUA#U;<{je#?cYt^{PIyKa%hW>}uepWMyAI{{Zo7?2>?$c9;whJae%oN|I-kpTQSx_C$Z&;f zi2i)qmEn=y4U0uvk)$m;zKfjPK@oc?I`}1Jzl$Q~aoKBd3kt7L#7gyt|A_qgz6ai< z=X%D1i!d2h?rHR^R8SUj&G||dkC?DT>{o#Yau<@uqVT{Xef&XG}5*E4aPk{}~ zplx&XhaV)&1EfI3Em;Bw#O5SV^c;{twb-1Rw)+=0!e_BLbd7tYmXCH0wrlOSS+~`7He8Iqx0{CN+DVit9;*6L~JAN zD&cyT)2?h}xnYmL?^)<7YyzZ3$FHU^Eg;DLqAV{#wv#Wj7S`Jdl1pX&{3(uZ?!uh} zDc$ZTNV*7le_W6}Hju~GMTxZQ1aWCeUc%!jv3MHAzt>Y-nQK%zfT*3ebDQA5b?iGn; zBjv3B+GhLTexd_(CzZDP4|#n5^~scvB6#Pk%Ho!kQ>yYw((Dv{6=$g3jT1!u6gORW zx5#`7Wy-ZHRa~IxGHdrp(bm%lf>2%J660nj$fCqN(epv@y!l9s7@k6EvxS{AMP>WY zX4$@F8^kayphIx-RGO$+LYl9YdoI5d|4#q9##`_F5Xnx`&GPzp2fB{-{P@ATw=X@~ z_|&^UMWAKD;jjBKTK(~o?cUFRK8EX=6>cXpfzg4ZpMB>*w_^8GSiT-Jp|xBOnzM+j z*09-@-~qJ(eqWq5@R4i^u4^{McCP(!3}C|v_WsTR*bIUxN(Nx`u##3B4{sE`Z`v8w zAwIG`?1~PkID~W{uDzmqH98Pew_1(;x2%8r^vY{)_&J2K)cN{W+h5+g)ZcjP&Ci#O zgy|8K@4kyMfwilHd&6TDlhb%++Pk!>9HRld6HT7gwyZGrxS$}CsD6`>6!!2K1@Mjf z(P0WYB7V_OFZyeWrbOFb>O54BNXf~K&?}3=^v;v_wT{DKr?jN^DtN&DXwX%u?s*c6`%8>WFz z7}YW^tp0bp^NriE)AB6M2l<7rn7fzePtR*omOevpfm9n?}2V*+0iW;S)C zhg`NAjL?D=W#k*$aR{>pGf~lD-rVtD;5jW1_*Jn1j1=es@Kcx4ySM_bwcQCT=d+DV z>Sz~L=Hj@(X%31nK$mWI@7d>}ORB`K(p=+`UD)+99YUGQc7y^bHZ1F(8|tL0 zdK*DT0kSXG_{BKTpP2*2PecdKV9;dq$^ZZDP;Nyq1kp-&GI5eAyZsK!e3V zK@rPy*{(`KIfo+lc878mDKk^V#`VT05}64kBtk%DgwLrOvLMj5-;*GNKv6c6pzMuL z6EP%ob|_0IW}lLRXCP2!9wWhEw3LA7iF#1O1mIZ@Z=6&bz41F;@S_GvYAG-#CW3z{ zP3+6vHhvP&A3$##Vo9$dT^#MoGg^|MDm=Bt1d2RRwSZ<;ZHICpLBv5Xs!D?BH^(9_ z7`H=N&^v|Z-%mP}wNzG{aiFCsRgwzwq!N6obW9+7(R; z(SZ=23`|`>qil!LMGG{_Heq!BD>(Y-zV9wD)}hz25JA37YR%39;kI4y9pgtcUass6 zP24}ZY$vvYeI`zy&)A_X#nY3017ap*0&jx|mVwyGhg3;!keU53a}Uhm3BZI$N$6Se zLWlAmy1S0xKJm4G_U@sN_Tm=`$xWJSEwKU98rZ&)1R^*$$1vA3oG#&*%SMxY_~oGP zP&PFJatFLM-Ps%84IV-+Ow)T{C7cqUAvauy4C z(FRz&?6$Rypj{xO!`y=*J5o4@U8Q-(y5(*=YoKeZ+-1YdljXxkA#B)zo=FeQH#?Le zycNUmEEHWO9a=X^pb#&cOq7-`7UA87#|S22)<7RUtZo|(zibX=w;K3qur9vy#`MNV z6UUcf9ZwEnKCCp+OoBnF@OdbvH)ANXO0o~Pi9l8=x3))}L<#vO0-~O4!~--Ket?d} zJaqsj<@CD1%S2cTW%rOP{Vto%0sGW~1RMa_j^)5nil0Yw- z0EE#bP+l4#P^%PQ+N*oxu1Zq05xZ!bXfYTg>9c{(Iw*lnjR^>kz%lAN^zFce7rppy zY8zA~3GD=A6d*hze&l4D_wA~+O!56)BZTe_rEu}Ezi<4!kG|W#amBZ5{&XS2@6R~H z{9o^y*BkH4$~yX9U&@CgbOzX1bn9xqF|zh$Dh0Y5y*E0e90*$!ObrHY3Ok0`2=O~r zCuke6KrP9KOf?V(YDsM<6pX2nVoN%M$LT^q#FmtaF?1^27F*IcNX~XRB(|hCFvdcc zc)$=S-)acdk$g4?_>jRqxpI6M3vHZk?0c^3=byamYDNf;uB{3NlKW5IhnOS3DNkMV z?tK8?kJ}pmvp%&&eTVOVjHP`q34hN1@!aK}H(K!vI`~gf|Gv+FNEQD5Yd<~yX7k_l h&G-K)@HZb3BABY{)U1?^%I#E6`MGoTtustd{~yM6srvu` diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square150x150Logo.scale-200.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square150x150Logo.scale-200.png deleted file mode 100644 index af49fec1a5484db1d52a7f9b5ec90a27c7030186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square44x44Logo.scale-200.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index ce342a2ec8a61291ba76c54604aea7e9d20af11b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png deleted file mode 100644 index f6c02ce97e0a802b85f6021e822c89f8bf57d5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/StoreLogo.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/StoreLogo.png deleted file mode 100644 index 7385b56c0e4d3c6b0efe3324aa1194157d837826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Wide310x150Logo.scale-200.png b/samples/core/GetStarted/UWP/Blogging.UWP/Assets/Wide310x150Logo.scale-200.png deleted file mode 100644 index 288995b397fdbef1fb7e85afd71445d5de1952c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3204 zcmbVPeQXow8NYmBd90>}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- zf+K}sCe8qU6Ujs`3ua{U0Of$R_gVQBuUA za0v=mu#vIOqiiAZOr&h*$WyOw&k-xr$;G4Ixa!#TJNr>95(h>l%)PUy4p+^SgR(uR zta%k*?ny-+nAr8spEk1fo{J4i!b^Fia`N{_F6@zidA2ZTTrjl#^5Z-2KfB@Cu}l9s z(*|Z2jc?p~vn2f)3y9i*7zJV1L{$?|&q)4oaT;uXi6>1GkRXVTOzAz(RHEmr=eFIi z`}<>-Q?K0GN8!IYxeP1XKXO+jsJbp~o^);Bc;%b7Flpe7;1`Ny@3r7ZR;?R)aJt8C ziNlEC<@3f_lIV4TwV}&e;D!Ee5_|e#g0LUh=5vmYWYm7&2h*M>QPKvGh9-)wfMMW3 z8J9b%1k7dzPzO0_NGQy92BZ^FR6R~6;^6?lqO;-QUP4BY%cG%3vEhbm#>4vIhPBh3 z-+pZGjh$x%Hp{?=FHsMp0&wNPlj00us{&`1ZOZTqs8%4X&xH=UDr*xyBW(Zp&Em94 zf)ZSfn#yg0N)>!1kWdkqJ^S*z0FF5|fj&qcE#Na|%OY0$uO>!&hP+1ywfD_WXk@4J(?MBftK7>$Nvqh@tDuarN%PrTLQ2Uzysx>UV=V zk^RrDSvdQ?0;=hY67EgII-f4`t=+i*yS=Y~!XlqIy_4x&%+OdfbKOFPXS2X5%4R{N z$SQMX^AK6(fA - - - - Debug - x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4} - AppContainerExe - Properties - Blogging.UWP - Blogging.UWP - en-US - UAP - 10.0.17134.0 - 10.0.16299.0 - 14 - 512 - {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - true - Blogging.UWP_TemporaryKey.pfx - - - true - bin\x86\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x86 - false - prompt - true - - - bin\x86\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x86 - false - prompt - true - true - - - true - bin\ARM\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - ARM - false - prompt - true - - - bin\ARM\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - ARM - false - prompt - true - true - - - true - bin\x64\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x64 - false - prompt - true - - - bin\x64\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x64 - false - prompt - true - true - - - PackageReference - - - - App.xaml - - - MainPage.xaml - - - - - - Designer - - - - - - - - - - - - - - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - - - 6.1.5 - - - - - {4ad1a405-a722-4260-b79e-04a6c42097fd} - Blogging.Model - - - - 14.0 - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml b/samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml deleted file mode 100644 index ae0b473155..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml.cs b/samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml.cs deleted file mode 100644 index d586bbbe61..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/MainPage.xaml.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Blogging.Model; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 - -namespace Blogging.UWP -{ - ///

- /// An empty page that can be used on its own or navigated to within a Frame. - /// - public sealed partial class MainPage : Page - { - public MainPage() - { - this.InitializeComponent(); - } - - private void Page_Loaded(object sender, RoutedEventArgs e) - { - using (var db = new BloggingContext()) - { - Blogs.ItemsSource = db.Blogs.ToList(); - } - } - - private void Add_Click(object sender, RoutedEventArgs e) - { - using (var db = new BloggingContext()) - { - var blog = new Blog { Url = NewBlogUrl.Text }; - db.Blogs.Add(blog); - db.SaveChanges(); - - Blogs.ItemsSource = db.Blogs.ToList(); - } - } - } -} diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Package.appxmanifest b/samples/core/GetStarted/UWP/Blogging.UWP/Package.appxmanifest deleted file mode 100644 index b14e95c53a..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/Package.appxmanifest +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - Blogging.UWP - tdykstra - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Properties/AssemblyInfo.cs b/samples/core/GetStarted/UWP/Blogging.UWP/Properties/AssemblyInfo.cs deleted file mode 100644 index 432b9b868b..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Blogging.UWP")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Blogging.UWP")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: ComVisible(false)] \ No newline at end of file diff --git a/samples/core/GetStarted/UWP/Blogging.UWP/Properties/Default.rd.xml b/samples/core/GetStarted/UWP/Blogging.UWP/Properties/Default.rd.xml deleted file mode 100644 index af00722cdf..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.UWP/Properties/Default.rd.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/core/GetStarted/UWP/Blogging.sln b/samples/core/GetStarted/UWP/Blogging.sln deleted file mode 100644 index df13d7edd8..0000000000 --- a/samples/core/GetStarted/UWP/Blogging.sln +++ /dev/null @@ -1,83 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2042 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blogging.Model", "Blogging.Model\Blogging.Model.csproj", "{4AD1A405-A722-4260-B79E-04A6C42097FD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blogging.UWP", "Blogging.UWP\Blogging.UWP.csproj", "{DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blogging.Migrations.Startup", "Blogging.Migrations.Startup\Blogging.Migrations.Startup.csproj", "{5750E84F-510B-44B5-A744-FCF81EB7F2E6}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|ARM = Debug|ARM - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|ARM = Release|ARM - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|ARM.ActiveCfg = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|ARM.Build.0 = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|x64.ActiveCfg = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|x64.Build.0 = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|x86.ActiveCfg = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Debug|x86.Build.0 = Debug|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|Any CPU.Build.0 = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|ARM.ActiveCfg = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|ARM.Build.0 = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|x64.ActiveCfg = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|x64.Build.0 = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|x86.ActiveCfg = Release|Any CPU - {4AD1A405-A722-4260-B79E-04A6C42097FD}.Release|x86.Build.0 = Release|Any CPU - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|Any CPU.ActiveCfg = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|ARM.ActiveCfg = Debug|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|ARM.Build.0 = Debug|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|ARM.Deploy.0 = Debug|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x64.ActiveCfg = Debug|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x64.Build.0 = Debug|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x64.Deploy.0 = Debug|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x86.ActiveCfg = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x86.Build.0 = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x86.Deploy.0 = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|Any CPU.ActiveCfg = Release|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|ARM.ActiveCfg = Release|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|ARM.Build.0 = Release|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|ARM.Deploy.0 = Release|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x64.ActiveCfg = Release|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x64.Build.0 = Release|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x64.Deploy.0 = Release|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x86.ActiveCfg = Release|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x86.Build.0 = Release|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x86.Deploy.0 = Release|x86 - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|ARM.ActiveCfg = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|ARM.Build.0 = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|x64.ActiveCfg = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|x64.Build.0 = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|x86.ActiveCfg = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Debug|x86.Build.0 = Debug|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|Any CPU.Build.0 = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|ARM.ActiveCfg = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|ARM.Build.0 = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|x64.ActiveCfg = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|x64.Build.0 = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|x86.ActiveCfg = Release|Any CPU - {5750E84F-510B-44B5-A744-FCF81EB7F2E6}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {79C573EE-C5D9-40BB-9083-9FE259FE9C33} - EndGlobalSection -EndGlobal diff --git a/samples/core/Samples.sln b/samples/core/Samples.sln index a3e5b9eb68..9757a9acba 100644 --- a/samples/core/Samples.sln +++ b/samples/core/Samples.sln @@ -3,18 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.29230.47 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UWP", "UWP", "{2D7D0958-8722-40E5-9BCB-A96B096E7534}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Logging", "Logging", "{851986F2-F49D-423A-8E60-1106EB6916F0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Testing", "Testing", "{4E2B02EE-0C76-42D6-BA0A-337D7680A5D6}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NetCore", "NetCore", "{E1A10B1E-CD16-47BB-86C1-FE256F1AD0FB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FullNet", "FullNet", "{8C67ADF8-D850-4D2E-9A73-E381D31B8C14}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GetStarted", "GetStarted", "{9AE81D20-3DB5-4C4A-AFBB-3F6A460B0313}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Miscellanous", "Miscellanous", "{85AFD7F1-6943-40FE-B8EC-AA9DBB42CCA6}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modeling", "Modeling", "{CA5046EC-C894-4535-8190-A31F75FDEB96}" @@ -23,8 +15,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Saving", "Saving", "{1C11AB EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Querying", "Querying", "{9883287D-A497-400C-ACB8-6F6138591DEC}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AspNetCore", "AspNetCore", "{AC06E61C-1FE2-41B8-95E3-780051DA2275}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Saving", "Saving\Saving\Saving.csproj", "{353F06F1-F0E0-4A8F-83AA-7115CD05832D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataAnnotations", "Modeling\DataAnnotations\DataAnnotations.csproj", "{F583DA77-954C-4C4E-9F46-846CB39208DE}" @@ -41,30 +31,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Logging", "Miscellaneous\Lo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Logging.ConsoleApp", "Miscellaneous\Logging\Logging.ConsoleApp\Logging.ConsoleApp.csproj", "{804A9357-D201-468C-ABB4-9B77E1D91EA3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp.NewDb", "GetStarted\FullNet\ConsoleApp.NewDb\ConsoleApp.NewDb.csproj", "{BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp.ExistingDb", "GetStarted\FullNet\ConsoleApp.ExistingDb\ConsoleApp.ExistingDb.csproj", "{01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Querying", "Querying\Querying.csproj", "{7DEB577A-52B8-4475-A109-689FD515AEEA}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConnectionResiliency", "Miscellaneous\ConnectionResiliency\ConnectionResiliency.csproj", "{73D58479-A7E6-4867-8A73-0E07E96C6117}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFGetStarted.AspNetCore.NewDb", "GetStarted\AspNetCore\EFGetStarted.AspNetCore.NewDb\EFGetStarted.AspNetCore.NewDb.csproj", "{B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFGetStarted.AspNetCore.ExistingDb", "GetStarted\AspNetCore\EFGetStarted.AspNetCore.ExistingDb\EFGetStarted.AspNetCore.ExistingDb.csproj", "{E30A16E6-B621-4D3C-BE79-866510451752}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleApp.SQLite", "GetStarted\NetCore\ConsoleApp.SQLite\ConsoleApp.SQLite.csproj", "{A45E289C-136C-4B0D-A1F7-BA62504AA67E}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DynamicModel", "DynamicModel\DynamicModel.csproj", "{70D00673-084C-40B7-B0F1-67498593F8EE}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataSeeding", "Modeling\DataSeeding\DataSeeding.csproj", "{FD21B5E9-B1D9-4788-A313-5C0CDA30D1D7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blogging.Model", "GetStarted\UWP\Blogging.Model\Blogging.Model.csproj", "{4C5E6619-5934-43AD-AAF7-D983FCCE9200}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blogging.Migrations.Startup", "GetStarted\UWP\Blogging.Migrations.Startup\Blogging.Migrations.Startup.csproj", "{0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blogging.UWP", "GetStarted\UWP\Blogging.UWP\Blogging.UWP.csproj", "{DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OwnedEntities", "Modeling\OwnedEntities\OwnedEntities.csproj", "{802E31AD-2F1E-41A1-A662-5929E2626601}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QueryFilters", "QueryFilters\QueryFilters.csproj", "{F96E15B3-C203-4DDC-BA7B-D33EB60B85CC}" @@ -77,7 +51,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KeylessEntityTypes", "Keyle EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TableSplitting", "Modeling\TableSplitting\TableSplitting.csproj", "{63685B9A-1233-4B44-AAC1-8DDD4B16B65D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos", "Cosmos\Cosmos.csproj", "{35091DAC-FAE6-4384-B499-CAF2D1EA4FCF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cosmos", "Cosmos\Cosmos.csproj", "{35091DAC-FAE6-4384-B499-CAF2D1EA4FCF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFGetStarted", "GetStarted\EFGetStarted.csproj", "{14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -219,38 +195,6 @@ Global {804A9357-D201-468C-ABB4-9B77E1D91EA3}.Release|x64.Build.0 = Release|Any CPU {804A9357-D201-468C-ABB4-9B77E1D91EA3}.Release|x86.ActiveCfg = Release|Any CPU {804A9357-D201-468C-ABB4-9B77E1D91EA3}.Release|x86.Build.0 = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|ARM.ActiveCfg = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|ARM.Build.0 = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|x64.ActiveCfg = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|x64.Build.0 = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|x86.ActiveCfg = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Debug|x86.Build.0 = Debug|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|Any CPU.Build.0 = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|ARM.ActiveCfg = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|ARM.Build.0 = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|x64.ActiveCfg = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|x64.Build.0 = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|x86.ActiveCfg = Release|Any CPU - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0}.Release|x86.Build.0 = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|Any CPU.Build.0 = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|ARM.ActiveCfg = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|ARM.Build.0 = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|x64.ActiveCfg = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|x64.Build.0 = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|x86.ActiveCfg = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Debug|x86.Build.0 = Debug|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|Any CPU.ActiveCfg = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|Any CPU.Build.0 = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|ARM.ActiveCfg = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|ARM.Build.0 = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|x64.ActiveCfg = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|x64.Build.0 = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|x86.ActiveCfg = Release|Any CPU - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64}.Release|x86.Build.0 = Release|Any CPU {7DEB577A-52B8-4475-A109-689FD515AEEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7DEB577A-52B8-4475-A109-689FD515AEEA}.Debug|Any CPU.Build.0 = Debug|Any CPU {7DEB577A-52B8-4475-A109-689FD515AEEA}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -283,54 +227,6 @@ Global {73D58479-A7E6-4867-8A73-0E07E96C6117}.Release|x64.Build.0 = Release|Any CPU {73D58479-A7E6-4867-8A73-0E07E96C6117}.Release|x86.ActiveCfg = Release|Any CPU {73D58479-A7E6-4867-8A73-0E07E96C6117}.Release|x86.Build.0 = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|ARM.ActiveCfg = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|ARM.Build.0 = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|x64.ActiveCfg = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|x64.Build.0 = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|x86.ActiveCfg = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Debug|x86.Build.0 = Debug|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|Any CPU.Build.0 = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|ARM.ActiveCfg = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|ARM.Build.0 = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|x64.ActiveCfg = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|x64.Build.0 = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|x86.ActiveCfg = Release|Any CPU - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349}.Release|x86.Build.0 = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|ARM.ActiveCfg = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|ARM.Build.0 = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|x64.ActiveCfg = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|x64.Build.0 = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|x86.ActiveCfg = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Debug|x86.Build.0 = Debug|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|Any CPU.Build.0 = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|ARM.ActiveCfg = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|ARM.Build.0 = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|x64.ActiveCfg = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|x64.Build.0 = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|x86.ActiveCfg = Release|Any CPU - {E30A16E6-B621-4D3C-BE79-866510451752}.Release|x86.Build.0 = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|ARM.Build.0 = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|x64.ActiveCfg = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|x64.Build.0 = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|x86.ActiveCfg = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Debug|x86.Build.0 = Debug|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|Any CPU.Build.0 = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|ARM.ActiveCfg = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|ARM.Build.0 = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|x64.ActiveCfg = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|x64.Build.0 = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|x86.ActiveCfg = Release|Any CPU - {A45E289C-136C-4B0D-A1F7-BA62504AA67E}.Release|x86.Build.0 = Release|Any CPU {70D00673-084C-40B7-B0F1-67498593F8EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {70D00673-084C-40B7-B0F1-67498593F8EE}.Debug|Any CPU.Build.0 = Debug|Any CPU {70D00673-084C-40B7-B0F1-67498593F8EE}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -363,52 +259,6 @@ Global {FD21B5E9-B1D9-4788-A313-5C0CDA30D1D7}.Release|x64.Build.0 = Release|Any CPU {FD21B5E9-B1D9-4788-A313-5C0CDA30D1D7}.Release|x86.ActiveCfg = Release|Any CPU {FD21B5E9-B1D9-4788-A313-5C0CDA30D1D7}.Release|x86.Build.0 = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|ARM.ActiveCfg = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|ARM.Build.0 = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|x64.ActiveCfg = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|x64.Build.0 = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|x86.ActiveCfg = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Debug|x86.Build.0 = Debug|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|Any CPU.Build.0 = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|ARM.ActiveCfg = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|ARM.Build.0 = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|x64.ActiveCfg = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|x64.Build.0 = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|x86.ActiveCfg = Release|Any CPU - {4C5E6619-5934-43AD-AAF7-D983FCCE9200}.Release|x86.Build.0 = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|ARM.ActiveCfg = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|ARM.Build.0 = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|x64.ActiveCfg = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|x64.Build.0 = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|x86.ActiveCfg = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Debug|x86.Build.0 = Debug|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|Any CPU.Build.0 = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|ARM.ActiveCfg = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|ARM.Build.0 = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|x64.ActiveCfg = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|x64.Build.0 = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|x86.ActiveCfg = Release|Any CPU - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85}.Release|x86.Build.0 = Release|Any CPU - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|Any CPU.ActiveCfg = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|ARM.ActiveCfg = Debug|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|ARM.Build.0 = Debug|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x64.ActiveCfg = Debug|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x64.Build.0 = Debug|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x86.ActiveCfg = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Debug|x86.Build.0 = Debug|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|Any CPU.ActiveCfg = Release|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|ARM.ActiveCfg = Release|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|ARM.Build.0 = Release|ARM - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x64.ActiveCfg = Release|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x64.Build.0 = Release|x64 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x86.ActiveCfg = Release|x86 - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4}.Release|x86.Build.0 = Release|x86 {802E31AD-2F1E-41A1-A662-5929E2626601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {802E31AD-2F1E-41A1-A662-5929E2626601}.Debug|Any CPU.Build.0 = Debug|Any CPU {802E31AD-2F1E-41A1-A662-5929E2626601}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -497,17 +347,29 @@ Global {35091DAC-FAE6-4384-B499-CAF2D1EA4FCF}.Release|x64.Build.0 = Release|Any CPU {35091DAC-FAE6-4384-B499-CAF2D1EA4FCF}.Release|x86.ActiveCfg = Release|Any CPU {35091DAC-FAE6-4384-B499-CAF2D1EA4FCF}.Release|x86.Build.0 = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|ARM.ActiveCfg = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|ARM.Build.0 = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|x64.ActiveCfg = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|x64.Build.0 = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|x86.ActiveCfg = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Debug|x86.Build.0 = Debug|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|Any CPU.ActiveCfg = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|Any CPU.Build.0 = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|ARM.ActiveCfg = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|ARM.Build.0 = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|x64.ActiveCfg = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|x64.Build.0 = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|x86.ActiveCfg = Release|Any CPU + {14A4E71C-57EB-4CB8-BBC3-C35CE4707E52}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {2D7D0958-8722-40E5-9BCB-A96B096E7534} = {9AE81D20-3DB5-4C4A-AFBB-3F6A460B0313} {851986F2-F49D-423A-8E60-1106EB6916F0} = {85AFD7F1-6943-40FE-B8EC-AA9DBB42CCA6} {4E2B02EE-0C76-42D6-BA0A-337D7680A5D6} = {85AFD7F1-6943-40FE-B8EC-AA9DBB42CCA6} - {E1A10B1E-CD16-47BB-86C1-FE256F1AD0FB} = {9AE81D20-3DB5-4C4A-AFBB-3F6A460B0313} - {8C67ADF8-D850-4D2E-9A73-E381D31B8C14} = {9AE81D20-3DB5-4C4A-AFBB-3F6A460B0313} - {AC06E61C-1FE2-41B8-95E3-780051DA2275} = {9AE81D20-3DB5-4C4A-AFBB-3F6A460B0313} {353F06F1-F0E0-4A8F-83AA-7115CD05832D} = {1C11ABFE-D497-4CF5-B2F9-BC6C539B108A} {F583DA77-954C-4C4E-9F46-846CB39208DE} = {CA5046EC-C894-4535-8190-A31F75FDEB96} {20E1786B-FA14-4470-8B90-62A0C197E54D} = {CA5046EC-C894-4535-8190-A31F75FDEB96} @@ -516,18 +378,10 @@ Global {60B2C7AF-655F-4709-9E7F-7403E61F3A08} = {4E2B02EE-0C76-42D6-BA0A-337D7680A5D6} {D3A5391D-9351-44D6-8122-2821C6E4BD62} = {851986F2-F49D-423A-8E60-1106EB6916F0} {804A9357-D201-468C-ABB4-9B77E1D91EA3} = {851986F2-F49D-423A-8E60-1106EB6916F0} - {BCF1FCE4-8D96-4265-96E0-D0AA8AADBDF0} = {8C67ADF8-D850-4D2E-9A73-E381D31B8C14} - {01AEB498-D8A2-4DFA-BE6D-6ED24511ED64} = {8C67ADF8-D850-4D2E-9A73-E381D31B8C14} {7DEB577A-52B8-4475-A109-689FD515AEEA} = {9883287D-A497-400C-ACB8-6F6138591DEC} {73D58479-A7E6-4867-8A73-0E07E96C6117} = {85AFD7F1-6943-40FE-B8EC-AA9DBB42CCA6} - {B7FBD3B5-D3BF-42DE-B7A9-AE603A271349} = {AC06E61C-1FE2-41B8-95E3-780051DA2275} - {E30A16E6-B621-4D3C-BE79-866510451752} = {AC06E61C-1FE2-41B8-95E3-780051DA2275} - {A45E289C-136C-4B0D-A1F7-BA62504AA67E} = {E1A10B1E-CD16-47BB-86C1-FE256F1AD0FB} {70D00673-084C-40B7-B0F1-67498593F8EE} = {CA5046EC-C894-4535-8190-A31F75FDEB96} {FD21B5E9-B1D9-4788-A313-5C0CDA30D1D7} = {CA5046EC-C894-4535-8190-A31F75FDEB96} - {4C5E6619-5934-43AD-AAF7-D983FCCE9200} = {2D7D0958-8722-40E5-9BCB-A96B096E7534} - {0B0B2801-3AEA-4BCE-8DA1-7DDE93C89A85} = {2D7D0958-8722-40E5-9BCB-A96B096E7534} - {DEB830D7-7EF9-4792-8B37-DA0A61DF28C4} = {2D7D0958-8722-40E5-9BCB-A96B096E7534} {802E31AD-2F1E-41A1-A662-5929E2626601} = {CA5046EC-C894-4535-8190-A31F75FDEB96} {63685B9A-1233-4B44-AAC1-8DDD4B16B65D} = {CA5046EC-C894-4535-8190-A31F75FDEB96} EndGlobalSection