شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز
🎯 ثبت نام

تعامل با MongoDB در net.,تعامل با MongoDB با استفاده از NET Web API

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

clip_image001 تعامل با MongoDB  با استفاده از .NET Web API

مقدمه

MongoDB یک پایگاه داده غیر SQL ای است و backend مناسبی برای WebAPIها به شمار می رود. به جای وام گیری از پایگاه داده رابطه ای (relational store) از پایگاه داده سند گرا (document store) وام گرفته است.

در این مقاله به شما نشان خواهیم داد که چطور با استفاده از یک ASP.NET Web API، یک ApiController بسازیم. طوری که قادر به پشتیبانی از HTTP GET، PUT، POST و DELETE باشد.

با انجام این پروژه ساده با چگونگی دسترسی به MongoDB با استفاده از .NET WebAPI آشنا خواهیم شد.

قبل از هر چیز، محیط مورد نظر را در سیستم خود نصب کنید:

دانلود و نصب Visual Studio

دانلود و نصب MongoDB

 

برای شروع، یک Web API با استفاده از Visual Studio ایجاد می کنیم.

یک پروژه Class Library برای پیاده سازی تعاملات MongoDB اضافه می کنیم.

web application

 
با استفاده از Nuget Packages، پکیج های درایور MongoDB را اضافه می کنیم.

NuGet packages


حالا می توانید مراجع DLL مربوط به MongoDB را ببینید.


مراجع DLL مربوط به MongoDB

یک کلاس به نام MongoHelper ایجاد کنید.

public class MongoHelper where T : class 

    public MongoCollection Collection { get; private set; } 

 

    public MongoHelper() 

    { 

        var con = new MongoConnectionStringBuilder("server=127.0.0.1;database=galary"); 

 

        var server = MongoServer.Create(con); 

        var db = server.GetDatabase(con.DatabaseName); 

        Collection = db.GetCollection(typeof(T).Name.ToLower()); 

    } 

این کلاس یک اتصال به MongoDB ایجاد می کند.

کلاس دیگری به نام MobileService ایجاد می کنیم. این کلاس منطق CRUD را برای تعامل با MongoDB پیاده سازی میکند.

public class MobileService 

    private readonly MongoHelper _mob; 

 

    public MobileService() 

    { 

        _mob = new MongoHelper(); 

    } 

 

    public void Create(Mobile mob) 

    { 

        _mob.Collection.Save(mob); 

    } 

 

    public void Edit(Mobile mob) 

    { 

        _mob.Collection.Update( 

            Query.EQ("_id", mob.MobileID), 

            Update.Set("Name", mob.Name) 

                .Set("Details", mob.Details)); 

    } 

 

    public void Delete(ObjectId postId) 

    { 

        _mob.Collection.Remove(Query.EQ("_id", postId)); 

    } 

 

    public IList GetMobiles() 

    { 

        return _mob.Collection.FindAll().ToList(); 

    } 

 

    public Mobile GetMobile(ObjectId id) 

    { 

        var mob = _mob.Collection.Find(Query.EQ("_id", id)).Single(); 

 

        return mob; 

    }         

 

کلاس Mobile یک مدل برای تعاملات داده ای است.

public class Mobile 

     [BsonId] 

    public Guid ID { get; set; } 

    public int MobileID { get; set; } 

    public string Name { get; set; } 

    public string Details{ get; set; }         

 

حالا با استفاده از قطعه کد زیر می توانید یک آیتم جدید اضافه کنید.

 

serv.Create(new Mobile { ID= Guid.NewGuid(), MobileID = 1, Name = "Apple", Details = "Testing Application" }); 

 

با استفاده از قطعه کد زیر می توانید تمام رکورد های داده را از MongoDB بازیابی کنید.

 

var datalst = serv.GetMobiles(); 

برای تست کردن برنامه، ابتدا سرویس MongoDB را بر روی سیستم خود start کنید. برای این کار روال زیر را دنبال کنید:

به خط فرمان بروید:

C:\MongoDB\bin>mongod and press Enter.

حالا سرویس MongoDB، start  شده است و صفحه زیر را مشاهده خواهید کرد:

 

شروع به کار سرویس MongoDB


و کد MongoDB را به شکل زیر از کنترلر فراخوانی می کنیم:

public ActionResult Index() 

    MobileService serv = new MobileService(); 

    var datalst = serv.GetMobiles(); 

    TempData["recordcount"] = datalst.Count;             

    return View(datalst); 

صفحه وب مشابه تصویر زیر خواهد بود:

صفحه وب نهایی

1394/09/03 2849 1687
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...