Creator
Creator 1398/03/14 12 0

نمونه کد استفاده MongoDb  در Asp Core 

نحوه_استفاده_مونگو_دی_بی_ر_Asp_Core

این یک نمونه کد از نحوه استفاده MongoDb در Asp Core  می باشد

که در این سورس یک GenericRepository نوشته شده است

اینترفیس مربوط به Genericrepository

public interface IMongoRepository : IDisposable
    {

        void Delete<T>(T item) where T : class, IMongo, new();


        T Single<T>() where T : class, IMongo, new();
      
        IQueryable<T> All<T>() where T : class, IMongo, new();


        IEnumerable<T> Get<T>() where T : class, IMongo, new();
        void Add<T>(T item) where T : class, IMongo, new();

        IQueryable<T> FindAll<T>(Expression<Func<T, bool>> expression) where T : class, IMongo, new();
        void Save<T>(T item) where T : class, IMongo, new();

        long Count<T>() where T : class, IMongo, new();
 
    }

 

همچنین یک لایه سرویس نیز نوشته شده و نحوه استفاده از ریپازیتوری در آن به کار گرفته شده است

سرویس مربوط به بلاگ که کد مربوط به اینترفیس  آن در زیر قابل مشاهده است

 

 public interface IBlogService
    {

        #region Get

        Blog GetBlog(string id);
        List<Blog> GetAllBlogs();



        #endregion

        #region Insert

        bool InsertBlog(Blog blog);
  


        #endregion

        #region Update

        bool UpdateBlog(Blog blog);


        #endregion

        #region Delete

        bool DeleteBlog(string id);
        bool DeleteBlog(Blog blog);
       


        #endregion
    }

 

کنترلر Home که دارای اکشن های Blogs که همه بلاگ ها را نشان میدهد  و یک اکشن دیگر به اسم InsertBlog که وظیفه افزودن بلاگ را دارد

کد مربوط به کنترلر

 

 public class HomeController : Controller
    {
        private readonly IBlogService _blogService;

        public HomeController(IBlogService blogService)
        {
            _blogService = blogService;
        }

        public IActionResult Blogs()
        {
            var model = _blogService.GetAllBlogs();
            return View(model);
        }

        public IActionResult InsertBlog()
        {
            var model=new Blog();
            return View(model);
        }

        [HttpPost]
        public IActionResult InsertBlog(Blog model)
        {
            if (ModelState.IsValid)
            {
                model.CreateDate=DateTime.Now;
                _blogService.InsertBlog(model);
            }
            return RedirectToAction("Blogs", "Home");
        }


      
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }

 

 سورس کد مربوطه گذاشته شده و می توانید دانلود کنید

 

پسوورد : 

  bsfile.ir  

 

اشتراک گذاری در :
  • تعداد دانلود 4
  • فرمت Zip
  • حجم کلی 1.98 مگا بایت

0 نظر

ارسال نظر