İçeriğe geç

EntityFrameworkCore Mysql DB First

Entityframework içinde core ortamında gelişimler sürmekte geliştiriciler ve kullanılabilir sql’ler hakkında bilgiye buradan ulaşabilirsiniz.

Ben Mysql ile deneme yapacğaım için Pomelo isimli geliştiricinin geliştirmiş olduğu Pomelo.EntityFrameworkCore.Mysql kullanacağım. Test için boş bir asp.net core mvc 2.0 projesi oluşturdum.

Öncelikle visual studiodan nuget manager yardımı ile aşağıdaki paketleri kurdum.

Database first yöntemini kullanacağım için scaffolding ile database’imden modellerimi aldım. Bunun için öncelikle visual studio da Tools>Nuget Package Manager>Package Manager Console ile konsolu açtıktan sonra aşağıdaki komut yardımı ile işlemlerimi gerçekleştirdim.

Scaffold-DbContext "server=localhost;database=anket2;user=root" "Pomelo.EntityFrameworkCore.MySql" -Verbose -f -o .\Models

İlk tırnak içerisindeki yer bağlanılacak olan sql server bilgileri,
İkinci tırnaklı yer ise kullanılacak olan provider yani sağlayıcı kütüphane,
Verbose ise çıktıların ekrana dökülmesini sağlaması için,
F parametresi force anlamında
O Parametresi çıktıların hangi dizinde tutulacağı
C parametresi ile context isminizide belirtebilirsiniz.
Birçok parametre mevcut bu parametrelere buradan ulaşabilirsiniz.

Bu package manager konsolu yardımı ile oluşturmak için yani visual studio içerisinden kullanmak için aynı işlemi powershell yada cmd konsol yardımı ilede yapabilirsiniz. Projenizin dizinine gittikten sonra aşağıdaki komut yardımı ile gerçekleştirebilirsiniz. Sadece başındaki scaffold kısmı değişecek geri kalan kısım aynen kalacaktır.

dotnet ef dbcontext scaffold "server=localhost;database=anket2;user=root" "Pomelo.EntityFrameworkCore.MySql" -v -f -o .\Models

Bunu projenizin olduğu dizinde kullanmanız gerektiğini unutmayın ve nuget manager ile paketleri kurduktan sonra kullanmanız gerektiğini aksi halde hata alacaksınız.

Artık DB first işlemi gerçekleştirildi. Modellerinizi Models klasöründe görebilirsiniz.

Tarih:Entity Framework Core

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir