{"id":879,"date":"2023-09-01T21:54:28","date_gmt":"2023-09-01T21:54:28","guid":{"rendered":"https:\/\/okankaradag.com\/?p=879"},"modified":"2023-09-02T17:54:17","modified_gmt":"2023-09-02T17:54:17","slug":"entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri","status":"publish","type":"post","link":"https:\/\/okankaradag.com\/en\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri","title":{"rendered":"Multiple Provider in EntityFramework Core and Migrations"},"content":{"rendered":"<p class=\" translation-block\">Hi, We will managing how to add multiple provider in ef core, like <strong>postgresql, sql server and sqllite<\/strong><\/p>\n\n\n\n<h4 id=\"birden-cok-context-ve-veritabani-ayarlamasi\">Starting Project<\/h4>\n\n\n\n<p>I'm creating as .net 7.0 web api in vs 2022<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"403\" height=\"146\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/ApiDataDomainProjectStructure.png\" alt=\"\" class=\"wp-image-881\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/ApiDataDomainProjectStructure.png 403w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/ApiDataDomainProjectStructure-300x109.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/ApiDataDomainProjectStructure-18x7.png 18w\" sizes=\"(max-width: 403px) 100vw, 403px\" \/><\/figure>\n\n\n\n<p class=\" translation-block\">I'm creating folder called Entites to Domain and add two entity: <strong>User <\/strong>and <strong>Book <\/strong><\/p>\n\n\n\n<p>User and Book entities:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true\">public class User\n{\n    public int Id { get; set; }\n    public string Name { get; set; } = string.Empty;\n    public DateTime BirthDate { get; set; }\n}<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true\">public class Book\n{\n    public int Id { get; set; }\n    public string Title { get; set; } = string.Empty;\n    public string Author { get; set; } = string.Empty;\n    public DateTime ReleaseDate { get; set; }\n}<\/pre><\/div>\n\n\n\n<p class=\" translation-block\">We are adding UserContext and BookContext in Data structure<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true\">public class UserContext : DbContext\n{\n    public UserContext(DbContextOptions&lt;UserContext&gt; options) : base(options)\n    { }\n    public DbSet&lt;User&gt; Users { get; set; } = default!;\n\n    protected override void OnModelCreating(ModelBuilder modelBuilder)\n    {\n        base.OnModelCreating(modelBuilder);\n        modelBuilder.ApplyConfigurationsFromAssembly(typeof(UserContext).Assembly);\n    }\n}<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true\">public class BookContext : DbContext\n{\n    public BookContext(DbContextOptions&lt;BookContext&gt; contextOptions) : base(contextOptions)\n    { }\n    public DbSet&lt;Book&gt; Books { get; set; } = default!;\n}<\/pre><\/div>\n\n\n\n<p class=\" translation-block\"><strong>UserContext runs on SqlServer <\/strong> <strong>BookContext <\/strong>runs on <strong>Postgresql <\/strong><\/p>\n\n\n\n<p>Optional Configuration for User Entity<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true\">public class UserEntityTypeConfiguration : IEntityTypeConfiguration&lt;User&gt;\n{\n    public void Configure(EntityTypeBuilder&lt;User&gt; builder)\n    {\n        builder.Property(p =&gt; p.Name).HasMaxLength(100).IsRequired();\n    }\n}<\/pre><\/div>\n\n\n\n<p><strong>Setting Multiple Provider<\/strong><\/p>\n\n\n\n<p class=\" translation-block\">We will using <strong>Npgsql<\/strong> provider for postgresql. We will register Contexts in Api structure. Before fill connection string to <strong>appSettings.json<\/strong><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:js decode:true\">  \"ConnectionStrings\": {\n    \"UserContext\": \"Server=(localdb)\\\\mssqllocaldb;Database=UserDb;Trusted_Connection=True;MultipleActiveResultSets=true\",\n    \"BookContext\": \"Server=127.0.0.1;Port=5432;Database=BookDb;User Id=postgres;Password=1234567;\"\n  }<\/pre><\/div>\n\n\n\n<p><strong>Program.cs:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true\">builder.Services.AddDbContext&lt;SqlServerContext&gt;(options =&gt;\n{\n    options.UseSqlServer(builder.Configuration.GetConnectionString(\"SqlServerContext\"), x =&gt; x.MigrationsAssembly(\"EfMultipleProvider.Data\"));\n});\nbuilder.Services.AddDbContext&lt;PostgreContext&gt;(options =&gt;\n{\n    options.UseNpgsql(builder.Configuration.GetConnectionString(\"PostgreContext\"));\n});<\/pre><\/div>\n\n\n\n<p><strong>Create Migration<\/strong><\/p>\n\n\n\n<p>We will create migrations with Powershell in Project Root Path. Done Before We look tags.<\/p>\n\n\n\n<p class=\" translation-block\"><strong>\u2013project<\/strong>: Storage Migrations Project<br><strong>\u2013output-dir<\/strong>: \n Migrations Folder Path<br><strong>\u2013context<\/strong> : The Context<br><strong>\u2013startup-project:<\/strong> Project in where Context is registered<\/p>\n\n\n\n<p>UserContext migration:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:sh decode:true\"> dotnet ef migrations add UserInitial --context UserContext --output-dir ..\/Data\/UserMigrations --startup-project Api --project Data<\/pre><\/div>\n\n\n\n<p>BookContext migration<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:sh decode:true\">dotnet ef migrations add BookInitial --context BookContext --output-dir ..\/Data\/BookMigrations --startup-project Api --project Data<\/pre><\/div>\n\n\n\n<p>Created Migrations:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"376\" height=\"215\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/Data-Migration-Structure.png\" alt=\"\" class=\"wp-image-882\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/Data-Migration-Structure.png 376w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/Data-Migration-Structure-300x172.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/Data-Migration-Structure-18x10.png 18w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/figure>\n\n\n\n<p><strong>Apply Migrations:<\/strong><\/p>\n\n\n\n<p>There is two method. The first is update-database, Other is in runtime.<\/p>\n\n\n\n<p><strong>1.Update-Database<\/strong><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:sh decode:true\">dotnet ef database update --context UserContext --project Data --startup-project Api<\/pre><\/div>\n\n\n\n<p><strong>2.Runtime<\/strong><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true\">public static class RunMigrations\n{\n    public static void ExecuteMigrations(this IServiceCollection services)\n    {\n        using var scope = services.BuildServiceProvider().CreateScope();\n        var userContext = scope.ServiceProvider.GetRequiredService&lt;UserContext&gt;();\n        if (userContext.Database.GetPendingMigrations().Any())\n            userContext.Database.Migrate();\n        var bookContext = scope.ServiceProvider.GetRequiredService&lt;BookContext&gt;();\n        if (bookContext.Database.GetPendingMigrations().Any())\n            bookContext.Database.Migrate();\n    }\n}<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true\" >builder.Services.ExecuteMigrations();<\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"334\" height=\"116\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/sqlserver-users.png\" alt=\"\" class=\"wp-image-883\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/sqlserver-users.png 334w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/sqlserver-users-300x104.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/sqlserver-users-18x6.png 18w\" sizes=\"(max-width: 334px) 100vw, 334px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"465\" height=\"264\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/postgre-books.png\" alt=\"\" class=\"wp-image-884\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/postgre-books.png 465w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/postgre-books-300x170.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/postgre-books-18x10.png 18w\" sizes=\"(max-width: 465px) 100vw, 465px\" \/><\/figure>\n\n\n\n<p>Example Insert:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true\">app.MapGet(\"\/user-insert\", (UserContext context) =&gt;\n{\n    context.Users.Add(new User { Name = \"Banu\" });\n    context.SaveChanges();\n    return Results.Ok();\n});<\/pre><\/div>\n\n\n\n<p>Project's Github Url <a href=\"https:\/\/github.com\/okankrdg\/EfCoreMultipleProvider\">okankrdg\/EfCoreMultipleProvider (github.com)<\/a><\/p>\n\n\n\n<p>See you in the next article, with love <\/p>","protected":false},"excerpt":{"rendered":"<p class=\" translation-block\">Hi, We will managing how to add multiple provider in ef core, like <strong>postgresql, sql server and sqllite<\/strong><\/p>","protected":false},"author":1,"featured_media":888,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[91,87,110,42],"tags":[45,105,50,116,115,44],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri - Okan Karada\u011f<\/title>\n<meta name=\"description\" content=\"Merhabalar, bug\u00fcnk\u00fc yaz\u0131mda ef core ile bir projede postgresql, sql server ve sqllite gibi birden \u00e7ok provider&#039;\u0131n entityframewok core i\u00e7inde nas\u0131l eklenebilece\u011fini y\u00f6netece\u011fiz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/okankaradag.com\/en\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri - Okan Karada\u011f\" \/>\n<meta property=\"og:description\" content=\"Merhabalar, bug\u00fcnk\u00fc yaz\u0131mda ef core ile bir projede postgresql, sql server ve sqllite gibi birden \u00e7ok provider&#039;\u0131n entityframewok core i\u00e7inde nas\u0131l eklenebilece\u011fini y\u00f6netece\u011fiz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/okankaradag.com\/en\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\/\" \/>\n<meta property=\"og:site_name\" content=\"Okan Karada\u011f\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-01T21:54:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-02T17:54:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/AI_Generated_Image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Okan Karada\u011f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Okan Karada\u011f\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#article\",\"isPartOf\":{\"@id\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\"},\"author\":{\"name\":\"Okan Karada\u011f\",\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\"},\"headline\":\"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri\",\"datePublished\":\"2023-09-01T21:54:28+00:00\",\"dateModified\":\"2023-09-02T17:54:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\"},\"wordCount\":248,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\"},\"keywords\":[\"dotnet core\",\"ef core\",\"EntityFramework Core\",\"multiple provider\",\"npgsql\",\"postgresql\"],\"articleSection\":[\".Net\",\".Net 6.0\",\".Net 7.0\",\"EntityFramework Core\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\",\"url\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\",\"name\":\"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri - Okan Karada\u011f\",\"isPartOf\":{\"@id\":\"https:\/\/okankaradag.com\/#website\"},\"datePublished\":\"2023-09-01T21:54:28+00:00\",\"dateModified\":\"2023-09-02T17:54:17+00:00\",\"description\":\"Merhabalar, bug\u00fcnk\u00fc yaz\u0131mda ef core ile bir projede postgresql, sql server ve sqllite gibi birden \u00e7ok provider'\u0131n entityframewok core i\u00e7inde nas\u0131l eklenebilece\u011fini y\u00f6netece\u011fiz.\",\"breadcrumb\":{\"@id\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/okankaradag.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/okankaradag.com\/#website\",\"url\":\"https:\/\/okankaradag.com\/\",\"name\":\"Okan Karada\u011f\",\"description\":\"Programlama \u00dczerine\",\"publisher\":{\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/okankaradag.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\",\"name\":\"Okan Karada\u011f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g\",\"caption\":\"Okan Karada\u011f\"},\"logo\":{\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/okankaradag.com\"],\"url\":\"https:\/\/okankaradag.com\/en\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri - Okan Karada\u011f","description":"Merhabalar, bug\u00fcnk\u00fc yaz\u0131mda ef core ile bir projede postgresql, sql server ve sqllite gibi birden \u00e7ok provider'\u0131n entityframewok core i\u00e7inde nas\u0131l eklenebilece\u011fini y\u00f6netece\u011fiz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/okankaradag.com\/en\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\/","og_locale":"en_US","og_type":"article","og_title":"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri - Okan Karada\u011f","og_description":"Merhabalar, bug\u00fcnk\u00fc yaz\u0131mda ef core ile bir projede postgresql, sql server ve sqllite gibi birden \u00e7ok provider'\u0131n entityframewok core i\u00e7inde nas\u0131l eklenebilece\u011fini y\u00f6netece\u011fiz.","og_url":"https:\/\/okankaradag.com\/en\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri\/","og_site_name":"Okan Karada\u011f","article_published_time":"2023-09-01T21:54:28+00:00","article_modified_time":"2023-09-02T17:54:17+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/okankaradag.com\/wp-content\/uploads\/2023\/09\/AI_Generated_Image.jpg","type":"image\/jpeg"}],"author":"Okan Karada\u011f","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Okan Karada\u011f","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#article","isPartOf":{"@id":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri"},"author":{"name":"Okan Karada\u011f","@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52"},"headline":"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri","datePublished":"2023-09-01T21:54:28+00:00","dateModified":"2023-09-02T17:54:17+00:00","mainEntityOfPage":{"@id":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri"},"wordCount":248,"commentCount":0,"publisher":{"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52"},"keywords":["dotnet core","ef core","EntityFramework Core","multiple provider","npgsql","postgresql"],"articleSection":[".Net",".Net 6.0",".Net 7.0","EntityFramework Core"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#respond"]}]},{"@type":"WebPage","@id":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri","url":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri","name":"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri - Okan Karada\u011f","isPartOf":{"@id":"https:\/\/okankaradag.com\/#website"},"datePublished":"2023-09-01T21:54:28+00:00","dateModified":"2023-09-02T17:54:17+00:00","description":"Merhabalar, bug\u00fcnk\u00fc yaz\u0131mda ef core ile bir projede postgresql, sql server ve sqllite gibi birden \u00e7ok provider'\u0131n entityframewok core i\u00e7inde nas\u0131l eklenebilece\u011fini y\u00f6netece\u011fiz.","breadcrumb":{"@id":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/okankaradag.com\/entityframework-core\/entityframework-core-ile-coklu-veritabani-uygulama-ve-migration-islemleri#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/okankaradag.com\/"},{"@type":"ListItem","position":2,"name":"EntityFramework Core ile \u00c7oklu Veritaban\u0131 Uygulama ve Migration \u0130\u015flemleri"}]},{"@type":"WebSite","@id":"https:\/\/okankaradag.com\/#website","url":"https:\/\/okankaradag.com\/","name":"Okan Karada\u011f","description":"Programlama \u00dczerine","publisher":{"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/okankaradag.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52","name":"Okan Karada\u011f","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/okankaradag.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g","caption":"Okan Karada\u011f"},"logo":{"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/okankaradag.com"],"url":"https:\/\/okankaradag.com\/en\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts\/879"}],"collection":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/comments?post=879"}],"version-history":[{"count":6,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts\/879\/revisions"}],"predecessor-version":[{"id":891,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts\/879\/revisions\/891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/media\/888"}],"wp:attachment":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/media?parent=879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/categories?post=879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/tags?post=879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}