نحوه استفاده از sp در UnitOfWork چگونه است

بپرسید
  • iran58 iran58
  • 57 ماه قبل
  • 57 ماه قبل
  • 131 نمایش

0

{{ digitTrunc(content.likes) }}

سلام 

من یک برنامه تحت ModelFirst براساس UnitOfWork نوشته ام

 اما می خواهم از sp که نوشته ام در Repository خودم استفاده کنم

 اما نمی دانم چگونه این sp را در Repository مورد نظر فراخوانی کنم

public interface IMenuRepository : IRepository
    {
        IEnumerable MenuLists();
    }
 
public class MenuRepository : Repository, IMenuRepository
    {
        private readonly TestCRUDSignalREntitie _context;
        public MenuRepository(TestCRUDSignalREntitie context) : base(context)
        {
            _context = context;
        }
        public TestCRUDSignalREntitie DatabaseContext => Context as TestCRUDSignalREntitie;
 
 
 
 
        public IEnumerable MenuLists()
        {
            ///!!!!!!!!!!!!!!!!!!????????????
             //return _context.Menus
        }
 
 
    }


    public interface IUnitOfWork : IDisposable
    {
        IMenuRepository MenuRepository { get; }
 
 
        int Complete();
    }
 
    public class UnitOfWork : IUnitOfWork
    {
        private readonly TestCRUDSignalREntitie _context;
        public IMenuRepository MenuRepository { get; private set; }
        public UnitOfWork(TestCRUDSignalREntitie context)
        {
            _context = context;
            MenuRepository = new MenuRepository(_context);
        }
        public int Complete()
        {
            return _context.SaveChanges();
        }
 
 
        public void Dispose()
        {
            _context.Dispose();
        }
    }
 
namespace WindowsFormsApp1
{
    public interface IRepository where TEntity : class
    {
 
 
        TEntity Get(object id);
 
 
 
 
        IEnumerable GetAll();
 
 
 
 
        TEntity GetRow();
 
 
 
 
        TEntity GetAllEntity();
 
 
 
 
        IEnumerable Find(Expression<>> perdicate);
 
 
 
 
 
 
        TEntity FindSelect(Expression<>> perdicate);
 
 
        bool FindRow(Expression<>> perdicate);
 
 
 
 
        IEnumerable FindRawSql(string query, params object[] parameters);
 
 
 
 
        void Add(TEntity entity);
 
 
 
 
        void AddRange(IEnumerable entities);
 
 
 
 
        void Remove(TEntity entity);
 
 
 
 
        void RemoveRange(IEnumerable entities);
 
 
        void Update(TEntity entity);
 
 
    }
}
 
    public class Repository : IRepository where TEntity : class
    {
        protected readonly DbContext Context;
 
 
        public Repository(DbContext context)
        {
            Context = context;
        }
 
 
        public virtual TEntity Get(object id)
        {
            return Context.Set().Find(id);
        }
 
 
        public virtual IEnumerable GetAll()
        {
            return Context.Set().ToList();
        }
 
 
        public virtual TEntity GetRow()
        {
            return Context.Set().FirstOrDefault();
        }
 
 
        public virtual TEntity GetAllEntity()
        {
            return Context.Set().FirstOrDefault();
        }
 
 
        public virtual IEnumerable Find(Expression<>> predicate)
        {
            return Context.Set().Where(predicate);
        }
 
 
 
 
        public virtual TEntity FindSelect(Expression<>> predicate)
        {
            return Context.Set().Where(predicate).FirstOrDef  ault();
        }
 
 
        public virtual bool FindRow(Expression<>> predicate)
        {
            var check = Context.Set().Where(predicate).SingleOrDe  fault();
            return check != null;
        }
 
 
        public IEnumerable FindRawSql(string query, params object[] parameters)
        {
            return Context.Set().SqlQuery(query, parameters).ToList();
        }
 
 
        public virtual void Add(TEntity entity)
        {
            Context.Set().Add(entity);
        }
 
 
        public virtual void AddRange(IEnumerable entities)
        {
            Context.Set().AddRange(entities);
        }
 
 
        public virtual void Remove(TEntity entity)
        {
            Context.Set().Remove(entity);
        }
 
 
        public virtual void RemoveRange(IEnumerable entities)
        {
            Context.Set().RemoveRange(entities);
        }
 
 
        public virtual void Update(TEntity entity)
        {
            Context.Set().Attach(entity);
            Context.Entry(entity).State = EntityState.Modified;
        }
 
 
 
 
    }
دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پاسخ ها به این سوال

پاسخ ها به این سوال

{{ digitTrunc(post.likes) }}

این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.

دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}

{{ err }}
{{ post.userAchivements.rhodiumAchievements }}
{{ post.userAchivements.platinumAchievements }}
{{ post.userAchivements.goldAchievements }}
{{ post.userAchivements.silverAchievements }}
{{ post.userAchivements.bronzeAchievements }}
{{ timeSince(new Date(post.date)) }} قبل

برای ثبت پاسخ خود در وب سایت وارد حساب کاربری خود شوید
قابلیت ارسال مطلب توسط مدیریت سایت غیر فعال شده است