Avvalgi mavzuda quyidagi ma’lumotlar kontekstidan foydalanilgan:
1
2
3
4
5
6
7
class SoccerContext : DbContext
{
public SoccerContext()
: base("DefaultConnection")
{ }
public DbSet
Players { get; set; }
}
Asosiy sinf konstruktorlariga DefaultConnection ulanish nomini uzatadi. Va bu holatda ma’lumotlar bazasiga murojaat qilinganda agar u mavjud bo‘lmasa, Code First yondashuvi ishlatilganligi sababli, MS SQL serverida DefaultConnection nomi bilan yangi ma’lumotlar bazasi yaratiladi. Va yaratilgandan so‘ng, barcha so‘rovlar ham ushbu ma’lumotlar bazasiga o‘tadi.
ulanish mavjud bo‘lgan ma’lumotlar bazasining joylashuvini yoki nomini dinamik ravishda o‘zgartirish kerak bo‘lishi mumkin. Bunday holda, biz ulanish satrini ko‘rsatishimiz kerak. Odatda Visual Studio loyihalarga konfiguratsiya faylini qo‘shadi. Ish stoli ilovalari (Windows Forms, konsol ilovalari va boshqalar) uchun loyihalarda ushbu fayl App.config deb ataladi, veb-ilovalar loyihalarida (AS.PNET) Web.config fayli. Biroq, loyiha turiga qaramasdan, konfiguratsiya fayli ma’lum bir tuzilishga va elementlarga ega, ular orasida connectionStrings elementi ham mavjud.
Xo‘sh, MS SQL Servere da joylashgan tasodifiy nom bilan ma’lumotlar bazasini aniqlashni istasak nima qilishimiz kerak? App.config fayldagi configuration yorlig‘i yopilishidan oldin quyidagi kodni qo‘shamiz:
1
2
3
4
providerName="System.Data.SqlClient"/>
Add elementi connectionStrings bo‘limiga ma’lumotlar bazasiga ulanish satrini belgilaydi. Turli ulanishlarni ishlatishni rejalashtirsak, bunday Add elementlari bir nechta aniqlanishi mumkin.
name="DefaultConnection" atributi ulanish nomini ko‘rsatadi. Nom ushbu ulanishdan foydalanadigan ma’lumotlar kontekstiga mos kelishi kerak. Shunday qilib, ulanish bir xil nomga ega bo‘lganligi uchun asosiy sinf konstruktoriga (base ("DefaultConnection")) DefaultConnection nomini beramiz. Agar asosiy sinf konstruktorini chaqirmasdan konteksni aniqlasak:
1
2
3
4
5
6
class SoccerContext : DbContext
{
public SoccerContext()
{ }
public DbSet
Players { get; set; }
}
Bunday holda, ulanish nomi konteks nomini aks ettirishi kerak: name="SoccerContext"
Keyingi ulanish elementi ulanish satrining parametrlarini belgilaydi. Ushbu element bir necha qismga bo‘linadi: