Asp.net MVC projesinde çalışıyorum. Genel depo oluşturmak için link'u takip ettim.Tüm tablo özelliklerini UOW sınıfında (Genel havuz kalıbı)
public class UnitOfWork : IDisposable
{
private LeisureEntities context = new LeisureEntities();
private IGenericInterface<cust_order> _customerOrderRepository;
private IGenericInterface<tblCustomer> _customerMasterRepository;
public IGenericInterface<cust_order> CustomerOrderRepository
{
get
{
return _customerOrderRepository = new GenericRepository<cust_order>(context);
}
}
public IGenericInterface<tblCustomer> CustomerMasterRepository
{
get
{
return _customerMasterRepository = new GenericRepository<tblCustomer>(context);
}
}
public void SaveChanges()
{
context.SaveChanges();
}
private bool disposed = false;
protected virtual void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
context.Dispose();
}
}
this.disposed = true;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
}
Ben özellikleri olarak UOW sınıftaki tüm Repositories beyan ve sonra doğrudan kontrolör veya hizmet tabakasında bu UOW kullanabilir. Bu, DAL bir genel depo sınıfında yalnızca iki sınıfa ve db tablolarının tüm özelliklerine sahip bir UOW sınıfına sahip olacağım anlamına gelir.
Her tablo için ayrı bir Yığın oluşturmanız gerekir.
Veritabanı ilk yaklaşımını kullanıyorum.
Lütfen öneriniz.
Bu harika ama bu projenin bir kısmını anlayabiliyorum. Çok fazla sorum var ama cevapları yok. Neden jenerik depo sınıfında savechanges(), nasıl işlem ve uow elde edilir. Bir kategori sınıfı hizmetine ilişkin kodu yapıştırabiliyorsanız, –
yardımcı olacaktır. Çünkü bu Genel Depoda çalışıyorsunuz. EF'deki her şey varsayılan olarak bir işlemdir. Varlıklarınızın EF proxy'lerinde her şey var. Örneğin, 20 hak özniteliğini değiştirebilir ve SaveChanges'i aradığınızda her şey bir kerede geçecektir. GenericService'i, servisler arasında ortak işlevselliği yerleştirebileceğiniz uygulayabilirsiniz. –