Asp.Net MVC

Asp.Net MVC 5 – Connection String Oluşturma ve SQL Server LocalDB ile Çalışma

Önceki makalelerimde, MvcMovie isimli bir proje oluşturmuş, bu proje üzerinden Asp.Net MVC ile Controller ekleme, View ekleme, Model ekleme gibi konuları detaylıca anlatmıştım. Aynı proje üzerinden anlatımıma devam ederek, Sql Server üzerinde veri tabanı oluşturma işlemlerinden, bu veritabanını modelimize bağlamaktan ve Mvc projelerimizde veritabanı kullanmaktan bahsedeceğim.

Connection String Oluşturma ve SQL Server LocalDB ile Çalışma

Daha önce veritabanı uygulamaları geliştirdiyseniz “Connection String” deyimine aşinasınızdır. Geliştirdiğimiz yazılımları, bir veritabanına bağlamak için bir bağlantı dizisine ihtiyaç duyarız. Bu dizi içerisinde, sunucu/dosya adresini, veritabanı ismini, kullanıcı adını, şifreyi, bağlantı tipini barındırır. Bağlantı dizisinin içeriği bağlanacağınız veri tabanı tipi, ihtiyaç duyduğunuz güvenlik yöntemlerine göre değişir. Bu sayede geliştirdiğimiz yazlım, veritabanına erişme yetkisine sahip olabilir.

MvcMovie projenizde MovieDBContext sınıfı, oluşturmuş olduğunuz Model ile veritabanını bağlama, kartları eşitleme görevini üstlenecek. Bu Entity Framework’un kolay okunabilir, yönetilebilir özelliklerinden sadece biri. Entity Framework aksi bir bağlantı belirtmediyseniz varsayılan olarak LocalDB’yi kullanır. Uygulamanızın konfigürasyonlarını yaptığınız web.config dosyasına ekleyeceğiniz bağlantı dizesi, MovieDBContext sınıfının veri tabanınıza erişmesini ve oluşturduğunuz “Movie” sınıfını “Movie” isimli veritabanı ile eşitleyebilmesini sağlayacak.

SQL Server Express LocalDB

LocalDB, kullanıcı modunda isteğe bağlı ve çalışır durumda başlayan SQL Server Express veritabanı altyapısının hafif bir sürümüdür. LocalDB, veritabanlarıyla. mdf dosyaları olarak çalışmanıza olanak sağlayan SQL Server Express özel bir yürütme modunda çalışır. Genellikle, LocalDB veritabanı dosyaları bir Web projesinin application_data klasöründe tutulur.

SQL Server Express’in üretim Web uygulamalarında kullanılması önerilmez. LocalDB, IIS ile çalışmak üzere tasarlanmadığı için bir Web uygulamasıyla üretim için kullanılmamalıdır. Ancak, bir LocalDB veritabanı SQL Server veya SQL Azure’a kolayca geçirilebilir. Bu nedenle uygulama geliştirme esnasında kullanabilir, yazılım prototip test süreçlerini yönetebilirsiniz. Fakat dağıtım esnasında LocalDB veritabanınızı Sql server veya Sql Azure’ye taşımanızı şiddetle tavsiye ediyorum.

Visual Studio 2019’da LocalDB, Visual Studio ile varsayılan olarak yüklenir.

Varsayılan olarak Entity Framework, nesne bağlamı sınıfıyla aynı adlı bir bağlantı dizesi arar (Bu proje için aradığı değer MovieDBContext).

Aşağıda gösterilen uygulama kök dizinindeki Web.config dosyasını açın. (Views klasöründeki Web.config dosyası değil.)

<connectionStrings> Tag’ını bulun :

Aşağıdaki bağlantı dizesini Web.config dosyasındaki <connectionStrings> etiketinin altına ekleyin.

Aşağıdaki örnek, yeni bağlantı dizesinin eklendiği Web.config dosyanın bir bölümünü gösterir:

İki bağlantı dizesi çok benzerdir. İlk bağlantı dizesi DefaultConnection olarak adlandırılır ve uygulamaya kimlerin erişebileceğini denetlemek üzere üyelik veritabanı için kullanılır. Eklediğiniz bağlantı dizesi, application_data klasöründe bulunan Movie.mdf adlı bir LocalDB veritabanını belirtir.

Bağlantı dizesinin adı DbContext sınıfının adıyla eşleşmelidir.

Aslında MovieDBContext bağlantı dizesini eklemeniz gerekmez. Bir bağlantı dizesi belirtmezseniz, Entity Framework DbContext sınıfının tam adı ile Users dizininde bir LocalDB veritabanı oluşturur (Bu durumda MvcMovie.Models.MovieDBContext ). Veritabanına sahip olduğu sürece, istediğiniz herhangi bir şey için bir ad verebilirsiniz. MDF soneki. Örneğin, MyFilms.Mdf veritabanına ad vereceğiz.

Daha sonraki makalelerimizde, Movie verilerini göstermek ve kullanıcıların yeni film listeleri oluşturmasına izin vermek için kullanabileceğiniz yeni bir sınıf oluşturacaksınız.

Yorum Yap