﻿
{"id":10923,"date":"2019-05-11T02:07:29","date_gmt":"2019-05-11T02:07:29","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=10923"},"modified":"2019-05-11T02:07:29","modified_gmt":"2019-05-11T02:07:29","slug":"net-core-class-libraryde-database-first-yaklasimi-ile-mevcut-veritabaninda-calisma","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/net-core-class-libraryde-database-first-yaklasimi-ile-mevcut-veritabaninda-calisma\/","title":{"rendered":".NET Core Class Library&#8217;de Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bir \u00f6nceki <a href=\"https:\/\/www.gencayyildiz.com\/blog\/asp-net-core-uygulamalarinda-database-first-yaklasimi-ile-mevcut-veritabaninda-calisma\/\" rel=\"noopener noreferrer\" target=\"_blank\">Asp.NET Core Uygulamalar\u0131nda Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma<\/a> ba\u015fl\u0131kl\u0131 yaz\u0131mda Asp.NET Core uygulamalar\u0131nda Database First yakla\u015f\u0131m\u0131n\u0131n nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 incelemi\u015ftik. Bu i\u00e7eri\u011fimizde ise yine .NET Core uygulamalar\u0131nda Class Library i\u00e7erisinde Database First yakla\u015f\u0131m\u0131n\u0131n kullan\u0131m\u0131n\u0131 inceleyece\u011fiz.<\/p>\n<h4>Ba\u015flarken<\/h4>\n<p>Her\u015feyden \u00f6nce ilk olarak bir Solution i\u00e7erisine Asp.NET Core MVC(<em>WebApplication<\/em>) uygulamas\u0131yla birlikte .NET Core Class Library(<em>DAL<\/em>) projesi olu\u015fturarak hali haz\u0131rda i\u00e7eri\u011fimize ba\u015flayabiliriz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma.png\" alt=\".NET Core Class Library&#039;de Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma\" width=\"293\" height=\"241\" class=\"aligncenter size-full wp-image-10927\" \/><\/a><\/p>\n<h4>Kurulum<\/h4>\n<p>Class Library projesinde(DAL) Entitiy Framework Core &#8211; Database First yakla\u015f\u0131m\u0131n\u0131 uygulayabilmek i\u00e7in;<\/p>\n<ul>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.SqlServer\/\" rel=\"noopener noreferrer\" target=\"_blank\">Microsoft.EntityFrameworkCore.SqlServer<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Tools\/\" rel=\"noopener noreferrer\" target=\"_blank\">Microsoft.EntityFrameworkCore.Tools<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.SqlServer.Design\/1.1.6\" rel=\"noopener noreferrer\" target=\"_blank\">Microsoft.EntityFrameworkCore.SqlServer.Design<\/a><\/li>\n<\/ul>\n<p>paketlerini projemize y\u00fcklememiz gerekmektedir.<br \/>\nBunun i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 tek tek Package Manager Console penceresinden \u00e7al\u0131\u015ft\u0131rman\u0131z yeterli olacakt\u0131r.<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nInstall-Package Microsoft.EntityFrameworkCore.SqlServer\r\nInstall-Package Microsoft.EntityFrameworkCore.Tools\r\nInstall-Package Microsoft.EntityFrameworkCore.SqlServer.Design\r\n<\/pre>\n<h3>\u0130lk Giri\u015fim ve Olas\u0131 Hatalardan Ar\u0131nd\u0131rma<\/h3>\n<p>\u0130lgili paketleri projemize y\u00fckledikten sonra yapmam\u0131z gereken, ilk paragrafta referans olarak verilen adrestede belirtildi\u011fi \u00fczere projeye<span style=\"font-size:10px;\">(Class Library &#8211; DAL)<\/span> Database First yakla\u015f\u0131m\u0131yla mevcut veritaban\u0131n\u0131 a\u015fa\u011f\u0131daki direktif arac\u0131l\u0131\u011f\u0131yla y\u00fcklemeye \u00e7al\u0131\u015fmakt\u0131r.<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nScaffold-DbContext &quot;Server=.;Database=Northwind;Trusted_Connection=True;&quot; Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models\r\n<\/pre>\n<ul>\n<li>\n<strong>Olas\u0131 Hata ve \u00c7\u00f6z\u00fcm\u00fc<\/strong><br \/>\nYukar\u0131da verilen komutla veritaban\u0131n\u0131 projeye \u00e7ekmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z zaman;<\/p>\n<blockquote style=\"color:red;\"><p>\nCould not load assembly &#8216;DAL&#8217;. Ensure it is referenced by the startup project &#8216;WebApplication&#8217;.\n<\/p><\/blockquote>\n<p>hatas\u0131yla kar\u015f\u0131la\u015fabilirsiniz.<br \/>\n\u0130lgili hatan\u0131n g\u00f6rseli a\u015fa\u011f\u0131daki gibidir;<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-1.png\" alt=\".NET Core Class Library&#039;de Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma\" width=\"1086\" height=\"87\" class=\"aligncenter size-full wp-image-10936\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-1.png 1086w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-1-300x24.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-1-768x62.png 768w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-1-1024x82.png 1024w\" sizes=\"auto, (max-width: 1086px) 100vw, 1086px\" \/><\/a><\/p>\n<p>Bu hatay\u0131 \u00e7\u00f6zebilmek i\u00e7in yapman\u0131z gereken i\u015flemler; Class Library projesine(DAL) y\u00fcklenen paketlerin Asp.NET Core web uygulamas\u0131nada (WebApplication) y\u00fcklenmesiyle birlikte Class Library(DAL) projesinin .dll&#8217;ini web uygulamas\u0131na referans etmektir.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-2.png\" alt=\".NET Core Class Library&#039;de Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma\" width=\"446\" height=\"418\" class=\"aligncenter size-full wp-image-10945\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-2.png 446w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-2-300x281.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/a><\/p>\n<p>Bu i\u015flemlerden sonra ilgili direktifi yeniden \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda a\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnde oldu\u011fu gibi ilgili veritaban\u0131 Database First y\u00f6ntemiyle projeye transfer edilmi\u015f olacakt\u0131r.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-3.png\" alt=\".NET Core Class Library&#039;de Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma\" width=\"1792\" height=\"861\" class=\"aligncenter size-full wp-image-10947\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-3.png 1792w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-3-300x144.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-3-768x369.png 768w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-3-1024x492.png 1024w\" sizes=\"auto, (max-width: 1792px) 100vw, 1792px\" \/><\/a>\n<\/li>\n<li>\nArt\u0131k veritaban\u0131m\u0131z Class Library projesinde (DAL) hali haz\u0131rda beklemektedir. \u0130lgili context nesnesini web uygulamas\u0131na a\u015fa\u011f\u0131daki gibi Dependency Injection ile register edip kullanmam\u0131z yeterli olacakt\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class Startup\r\n    {\r\n        public void ConfigureServices(IServiceCollection services)\r\n        {\r\n            services.AddDbContext&lt;NorthwindContext&gt;(_ =&gt; _.UseSqlServer(&quot;Server=.;Database=Northwind;Trusted_Connection=True;&quot;));\r\n            services.AddMvc();\r\n        }\r\n\r\n        public void Configure(IApplicationBuilder app, IHostingEnvironment env)\r\n        {\r\n            if (env.IsDevelopment())\r\n                app.UseDeveloperExceptionPage();\r\n            app.UseMvc(_ =&gt; _.MapRoute(&quot;Default&quot;, &quot;{controller=Home}\/{action=Index}\/{id?}&quot;));\r\n        }\r\n    }\r\n<\/pre>\n<p>Projeyi derleyip \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda a\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnde de oldu\u011fu gibi veritaban\u0131na eri\u015fim ba\u015far\u0131yla sa\u011flanmakta ve verilerimiz elde edilmektedir.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-4.png\" alt=\".NET Core Class Library&#039;de Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma\" width=\"728\" height=\"671\" class=\"aligncenter size-full wp-image-10953\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-4.png 728w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/05\/NET-Core-Class-Libraryde-Database-First-Yakla\u015f\u0131m\u0131-\u0130le-Mevcut-Veritaban\u0131nda-\u00c7al\u0131\u015fma-4-300x277.png 300w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><\/a>\n<\/li>\n<\/ul>\n<p>Bu noktadan itibaren, her iki makale arac\u0131l\u0131\u011f\u0131yla Entity Framework Core mimarisinin Database First yap\u0131lanmas\u0131yla nas\u0131l kullan\u0131ld\u0131\u011f\u0131na dair olas\u0131 t\u00fcm sorular\u0131n cevaplar\u0131n\u0131 verebildi\u011fimize ve siz de\u011ferli okuyucular\u0131m\u0131n meraklar\u0131n\u0131 dindirdi\u011fimize inanmaktay\u0131m.<\/p>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bir \u00f6nceki Asp.NET Core Uygulamalar\u0131nda Database First Yakla\u015f\u0131m\u0131 \u0130le Mevcut Veritaban\u0131nda \u00c7al\u0131\u015fma ba\u015fl\u0131kl\u0131 yaz\u0131mda Asp.NET Core uygulamalar\u0131nda Database First yakla\u015f\u0131m\u0131n\u0131n nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 incelemi\u015ftik. Bu i\u00e7eri\u011fimizde ise yine .NET Core uygulamalar\u0131nda Class Library i\u00e7erisinde&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":10242,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2739,2668,2656,2811,2832],"tags":[2664,2854,2856,2853,2745,2855],"class_list":["post-10923","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net-core","category-asp-net-core-2","category-asp-net-core-2-mvc","category-asp-net-core-2-1","category-asp-net-core-2-2","tag-net-core","tag-net-core-class-library","tag-net-core-class-library-database-first","tag-net-core-database-first","tag-class-library","tag-class-library-database-first"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/10923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=10923"}],"version-history":[{"count":22,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/10923\/revisions"}],"predecessor-version":[{"id":10954,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/10923\/revisions\/10954"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/10242"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=10923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=10923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=10923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}