iran58

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

سلام 

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

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

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

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


    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<tentity style="font-size: 1.1em; text-align: right; font-family: IranSans;"> where TEntity : class
    {
 
 
        TEntity Get(object id);
 
 
 
 
        IEnumerable<tentity> GetAll();
 
 
 
 
        TEntity GetRow();
 
 
 
 
        TEntity GetAllEntity();
 
 
 
 
        IEnumerable<tentity> Find(Expression<func<tentity, bool="">> perdicate);
 
 
 
 
 
 
        TEntity FindSelect(Expression<func<tentity, bool="">> perdicate);
 
 
        bool FindRow(Expression<func<tentity, bool="">> perdicate);
 
 
 
 
        IEnumerable<tentity> FindRawSql(string query, params object[] parameters);
 
 
 
 
        void Add(TEntity entity);
 
 
 
 
        void AddRange(IEnumerable<tentity> entities);
 
 
 
 
        void Remove(TEntity entity);
 
 
 
 
        void RemoveRange(IEnumerable<tentity> entities);
 
 
        void Update(TEntity entity);
 
 
    }
}
 
    public class Repository<tentity> : IRepository<tentity> where TEntity : class
    {
        protected readonly DbContext Context;
 
 
        public Repository(DbContext context)
        {
            Context = context;
        }
 
 
        public virtual TEntity Get(object id)
        {
            return Context.Set<tentity>().Find(id);
        }
 
 
        public virtual IEnumerable<tentity> GetAll()
        {
            return Context.Set<tentity>().ToList();
        }
 
 
        public virtual TEntity GetRow()
        {
            return Context.Set<tentity>().FirstOrDefault();
        }
 
 
        public virtual TEntity GetAllEntity()
        {
            return Context.Set<tentity>().FirstOrDefault();
        }
 
 
        public virtual IEnumerable<tentity> Find(Expression<func<tentity, bool="">> predicate)
        {
            return Context.Set<tentity>().Where(predicate);
        }
 
 
 
 
        public virtual TEntity FindSelect(Expression<func<tentity, bool="">> predicate)
        {
            return Context.Set<tentity>().Where(predicate).FirstOrDef  ault();
        }
 
 
        public virtual bool FindRow(Expression<func<tentity, bool="">> predicate)
        {
            var check = Context.Set<tentity>().Where(predicate).SingleOrDe  fault();
            return check != null;
        }
 
 
        public IEnumerable<tentity> FindRawSql(string query, params object[] parameters)
        {
            return Context.Set<tentity>().SqlQuery(query, parameters).ToList();
        }
 
 
        public virtual void Add(TEntity entity)
        {
            Context.Set<tentity>().Add(entity);
        }
 
 
        public virtual void AddRange(IEnumerable<tentity> entities)
        {
            Context.Set<tentity>().AddRange(entities);
        }
 
 
        public virtual void Remove(TEntity entity)
        {
            Context.Set<tentity>().Remove(entity);
        }
 
 
        public virtual void RemoveRange(IEnumerable<tentity> entities)
        {
            Context.Set<tentity>().RemoveRange(entities);
        }
 
 
        public virtual void Update(TEntity entity)
        {
            Context.Set<tentity>().Attach(entity);
            Context.Entry(entity).State = EntityState.Modified;
        }
 
 
 
 
    }</tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></func<tentity,></tentity></func<tentity,></tentity></func<tentity,></tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></tentity></func<tentity,></func<tentity,></func<tentity,></tentity></tentity></tentity>
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....