سلام من اگه بخوام در یک Repository ازMyGenericRepository ارث بری کنم به چه صورت ؟
بعد چگونه از اون باید استفاده کرد
مثال همون یخجال که زدید من مخوام فقط دو ستون از یک جدول بارگذاری کنم حلا چوری باید ویومدلم پرکنم وقتی از MyGenericRepository استفاده میکنم
خوباید Repository اختصاصی برای اون بسازم درت؟
سلام
برای جداولی که نیاز خاص دارند یک Repositpry جدا ایجاد میکنیم و حتی میتونید در همون ریپوزیتوری از Generic نیز استفاده کنید
Repositpry جدا چطور از Generic ارث بری کن که
public class RepositoryUsers:MyGenericRepository
{
}
public class MyGenericRepository<TEntity> where TEntity : class
{
private MyContext _context;
private DbSet<TEntity> _dbset;
public MyGenericRepository(MyContext context)
{
_context = context;
_dbset = context.Set<TEntity>();
}
public virtual IEnumerable<TEntity> Get(Expression<Func<TEntity, bool>> where = null,Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderby = null, string includes = "")
{
try
{
IQueryable<TEntity> query = _dbset;
if (where != null)
{
query = query.Where(where);
}
if (orderby != null)
{
query = orderby(query);
}
if (includes != "")
{
foreach (string include in includes.Split(','))
{
query = query.Include(include);
}
}
return query.AsNoTracking().ToList();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return null;
}
}
{
میتونید کلاس generic را abstrac کنید تا راحت ارث بری و متد هاش رو ovvride کنید
البته متدهاتون virtual است پس میتونید اونها رو نیز overide کنید
ممنون ولی وقتی ارث بری مکنم این خطا میده نمیفهم کجای کارم اشتباه
باید نوعش رو مشخص کنید داخل <>