Data - Veri Erişim Katmanı

Açıklama

Bu belge veri erişim katmanı işlemlerini tanımlar. Veri erişim katmanı Veritabanı, Servis ve diğer veri kaynaklarına erişim için kullanılan katmandır.Bu katmanda:

  • İş mantığı bulunmaz. (Sadece veri alma-verme işlemleri yapılır.)

  • Veri istemcileri arayüzler üzerinden çalışır ve birim testleri oluşturulur.

Veritabanı Erişimi

Repository metotları

Repository metotları temel olarak aşağıdaki adımlardan oluşur:

  1. İstek bilgilerinin oluşturulması

  2. Varsayılan dönüş değerinin tanımlanması

  3. Veritabanı isteğinin yapılması ve sonucun döndürülmesi

Örnek:

public bool UpdatePost(int postId, int memberId)
{
    var dataRequest = dataRequestFactory.UpdatePost(postId, memberId);
    var defaultReturnValue = false;

    return dataClient.GetScalar<bool>(dataRequest, defaultReturnValue);
}

DataRequest

Veritabanı işlemi istek bilgileri IDataRequestFactory aracılığıyla oluşturulur. Bu sınıfta istek bilgilerini içeren özel bir metot oluşturulur.

Dikkat edilecek konular:

  1. Metot, çağrılacak prosedür ile aynı isme sahip olur.

  2. Prosedür isimleri ProcedureNames sınıfında özellik olarak tanımlanır.

  3. Parametre isimleri ParameterNames sınıfında özellik olarak tanımlanır.

Vertabanı isteği oluşturma örneği:

OUTPUT tipinde parametre kullanan bir örnek:

Bu metot için veri isteği aşağıdaki gibi oluşturulur:

SplitOn içeren veri isteği örneği:

Sorgu sonucu dönen alanlar belli nesnelere göre gruplanarak alt sınıflar doldurulacaksa, ilgili nesnenin alanlarını döndüren alanlar belirtilir.

Bu istek bilgilerini kullanan repository metodu aşağıda gösterilmiştir. GetItem metodu çağrılırken belirtilen ilk 3 tip (ProfileInfo, Occupation, Education) sorgunun ayrılacağı parçaları, son tip (ProfileInfo) dönüş tipini belirler.

Varsayılan değerler

Veritabanı isteği başarısız olursa ya da döndürülecek bir kayıt bulunamazsa hangi sonucun döndürüleceği Repository metodunda yapılan çağrıda belirtilir.

bool tipinde dönüş değeri için varsayılan:

int ve sayısal dönüş değerleri için varsayılan:

string tipinde dönüş değeri için varsayılan:

Sınıf tipinde dönüş değerleri için varsayılan:

Özel durum için dönüş tipleri IDefaultValueFactory sınıfında tanımlanır.

Liste dönüş tipleri için varsayılan olarak boş liste döndürülür:

Servis Erişimi

Servislere erişen Repository metotları temel olarak aşağıdaki adımlardan oluşur:

  1. İstek bilgilerinin oluşturulması

  2. İstek sonucunun uygun tipe çevrilmesi ve döndürülmesi

  3. Hata kontrolü

Veritabanı istemcisi yerine Api istemcisi kullanılır. Diğer yönleriyle Veritabanı erişimi gibi tasarlanır ve kullanılır.

Last updated

Was this helpful?