ایجاد NET Core Console Application. با MongoDB

Create Console Application

در این مقاله ، نحوه ی ایجاد NET Core Console Application. با MongoDB  را نشان خواهیم داد. فرض می کنم شما درک اندکی از ارتباط فریمورک NET. را با هر RDBMS دارید.

اگر بخش های قبلی مقالات ما را نخوانده‏ اید همواره می‏توانید در لینک‏ زیر مشاهده کنید.

پیش نیاز

  •  برای کار با برنامه، نیاز است  Visual Studio 2015 را به همراه آپدیت ۳، به منظور در اختیار داشتن .NET Core ، داشته باشید (ما میخواهیم ابزاری همراه با .NET Core را به شما نشان دهیم، اما می توانید با هر نسخه ای از Visual Studio ادامه دهید).
  •  نیاز خواهد بود NoSQL Database Server MongoDB را نصب کنید. می توانید آن را در اینجا بیابید.
  •  این مرحله الزامی نیست اما خوب است که برنامه ای با GUI کاربرپسند جهت مدیریت MongoDB Server داشته باشید.

یکی از چندین ابزاری که می توانید دانلود و نصب کنید Mongobooster [https://mongobooster.com] -> download است. در غیر اینصورت، می توانید از طریق خط فرمان نیز کار کنید. من از بخشی از هر دو استفاده خواهم کرد.

پیش نمایش

می توانید این برنامه ی مرحله به مرحله را در ۸ مرحله کامل کنید.

۱- پوشه ای به نام ‘ data ’ در درایو C: و ‘db’ در پوشه ی ‘data’ ایجاد کنید. این پوشه پایگاه داده ی شما را نگه خواهد داشت. برای مثال : C:\data

۲-  اکنون، باید نمونه ی MongoDB را راه اندازی کنید.

برای این کار، به مسیر C:\Program Files\MongoDB\Server\3.2\bin بروید (فرض می کنیم که شما نمونه ی پیش فرض MongoDB را نصب یا دانلود کرده اید).

پوشه ی bin آن را در خط فرمان باز کنید، برای مثال cd C:\Program Files\MongoDB\Server\3.2\bin. اگر نسخه ی ۳.۴ را دارید، مسیر شما برای مثال بصورت cd C:\Program Files\MongoDB\Server\3.4\bin و ….

حال، mongod.exe را با پارامتر dbpath–– اجرا کنید.

مثال : C:\Program Files\MongoDB\Server\3.2\bin>mongod.exe –dbpath C:\data\db

MongoDB

نکته : همچنین می توانید یک Windows Service برای عمل بالا ایجاد کنید تا دفعه ی بعد کار خود را آسان کنید.

۳- تا به اینجا، MongoDB Server شما آماده و در حال کار است.

این پنجره ی خط فرمان را تا پایان نبندید. Mongobooster خود را باز کرده و به create و connection بروید. Mongobooster –> Connect –> Create –> (with all default connect port 27017) –> Save and Connect.

بسیار عالی! اکنون با Mongo Server متصل هستید.

۴- بر روی localhost Server در پنل سمت چپ راست کلیک کرده و پایگاه داده ای به نام ‘ School ’ ایجاد کنید.

سپس، بر روی پایگاه داده ی ‘ School ’ راست کلیک کرده و Collection را ایجاد کنید.

این collection/ مجموعه چیزی جز جدول شما در RDBMS نیست.

آن را بصورت ‘ StudentDetails ’ نام گذاری کنید. در اینجا، می توان کتابی برای Collection ، Document ، BSON نوشت.

برای بررسی اینکه همه چیز سر جای خود است ، بر روی StudentDetails راست کلیک کرده و view document را انتخاب کنید.

نگران نباشید، هیچ رکوردی جز کوئری در این پنجره نخواهید یافت.

۵- حال ، back end ما آماده است، بنابراین به مسیر Visual Studio -> File -> New -> Project -> Console Application select .NET Core but optional -> Create بروید.

۶- بر روی reference راست کلیک کرده تا NuGet Package Manager را، برای گرفتن درایور جهت اتصال با MongoDB، دریافت کنید. در “ Browse ”، درایور MongoDB.Driver را جستجو کرده و آن را نصب کنید. برای این مثال، از نسخه ی ۲.۴ استفاده می کنیم.

NoSQL

۷-  کد زیر را با آنچه در فایل Program.cs است، جایگزین کنید.

using System;  
  
//MongoDB.Driver  
using MongoDB.Bson;  
using MongoDB.Driver;  
  
namespace AppTest  
{  
    public class Students  
    {  
        public ObjectId Id { get; set; }  
        public string FirstName { get; set; }  
        public string LastName { get; set; }  
        public string City { get; set; }  
        public string Age { get; set; }  
    }  
  
    public class Program  
    {  
        protected static IMongoClient _client;  
        protected static IMongoDatabase _database;  
  
        public static Students GetStudent()  
        {  
            Console.WriteLine("Please enter student first name : ");  
            string FNm = Console.ReadLine();  
  
            Console.WriteLine("Please enter student last name : ");  
            string LNm = Console.ReadLine();  
  
            Console.WriteLine("Please enter student age : ");  
            string StudentAge = Console.ReadLine();  
  
            Console.WriteLine("Please enter city name : ");  
            string StudentCity = Console.ReadLine();  
  
            Students student = new Students()  
            {  
                FirstName = FNm,  
                LastName = LNm,  
                Age = StudentAge,  
                City = StudentCity,  
            };  
  
            return student;  
        }  
  
        public void CRUDwithMongoDb()  
        {  
            _client = new MongoClient();  
            _database = _client.GetDatabase("School");  
            var _collection = _database.GetCollection<Students>("StudentDetails");  
  
            Console.WriteLine  
                ("Press select your option from the following\n1 - Insert\n2 - Update One Document\n3 - Delete\n4 - Read All\n");  
            string userSelection = Console.ReadLine();  
  
            switch (userSelection)  
            {  
                case "1":   
                    //Insert  
                    _collection.InsertOne(GetStudent());  
                    break;  
  
                case "2":   
                    //Update  
                    var obj1 = GetStudent();  
  
                    _collection.FindOneAndUpdate<Students>  
                        (Builders<Students>.Filter.Eq("FirstName", obj1.FirstName),  
                            Builders<Students>.Update.Set("LastName", obj1.LastName).Set("City", obj1.City).Set("Age", obj1.Age));  
                    break;  
  
                case "3":   
                    //Find and Delete  
                    Console.WriteLine("Please Enter the first name to delete the record(so called document) : ");  
                    var deletefirstName = Console.ReadLine();  
                    _collection.DeleteOne(s => s.FirstName == deletefirstName);  
  
                    break;  
  
                case "4":   
                    //Read all existing document  
                    var all = _collection.Find(new BsonDocument());  
                    Console.WriteLine();  
  
                    foreach (var i in all.ToEnumerable())  
                    {  
                        Console.WriteLine(i.Id + "  " + i.FirstName + "\t" + i.LastName + "\t" + i.Age + "\t" + i.City);  
                    }  
  
                    break;  
  
                default:  
                    Console.WriteLine("Please choose a correct option");  
                    break;  
            }  
  
            //To continue with Program  
            Console.WriteLine("\n--------------------------------------------------------------\nPress Y for continue...\n");  
            string userChoice = Console.ReadLine();  
  
            if (userChoice == "Y" || userChoice == "y")  
            {  
                this.CRUDwithMongoDb();  
            }  
        }  
  
        public static void Main(string[] args)  
        {  
            Program p = new Program();  
            p.CRUDwithMongoDb();  
  
              
            //Hold the screen by logic  
            Console.WriteLine("Press any key to trminated the program");  
            Console.ReadKey();  
        }  
    }  
}  

۸- تنها، برنامه ی کنسولی را اجرا کنید (Ctrl + F5).

 

زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

میشه تو نظرسنجی ما شرکت کنید؟بزن بریم