.NET Core与MongoDB的简单应用示例

在本文中,将学习如何使用.NET CoreMongoDB创建一个简单的应用程序。将通过一步一步的指导,了解如何设置环境、连接数据库以及实现基本的CRUD操作。

环境准备

为了运行这个示例,需要具备以下环境:

  • 安装了Visual Studio 2015 Update 3或更高版本的.NET Core
  • 安装MongoDB数据库服务器。可以从下载。
  • 可选:安装MongoDB的管理工具,如Mongobooster,以便于操作数据库。也可以选择使用命令行进行操作。

创建数据库和集合

首先,需要在C盘根目录下创建一个名为'data'的文件夹,并在其中创建一个名为'db'的子文件夹,用于存放数据库文件。

接下来,启动MongoDB实例。根据MongoDB版本,进入到相应的bin目录下,使用命令行启动MongoDB服务。例如,如果安装的是MongoDB 3.2版本,可以使用以下命令:

mongod.exe --dbpath C:\data\db

注意:也可以将MongoDB设置为Windows服务,以便以后更方便地启动。

启动MongoDB服务后,不要关闭命令行窗口。使用Mongobooster连接到MongoDB服务器,并创建一个名为'School'的数据库,然后在该数据库下创建一个名为'StudentDetails'的集合。

创建.NET Core应用程序

现在,转到Visual Studio,创建一个新的控制台应用程序项目。

  1. 打开Visual Studio,选择“文件”->“新建”->“项目”。
  2. 在项目类型中选择“控制台应用程序”,并确保选择.NET Core
  3. 命名项目并创建。

接下来,需要添加MongoDB的C#驱动程序。通过NuGet包管理器搜索并安装MongoDB.Driver,本示例中使用的是2.4版本。

编写代码

将使用C#编写代码来实现CRUD操作。首先,需要定义一个模型类来表示学生信息。

public class Students { [BsonId(IdGenerator = typeof(ProfileIdGenerator))] public string ProfileId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string City { get; set; } public string Age { get; set; } }

然后,需要编写一个程序来实现CRUD操作。

public class Program { protected static IMongoClient _client; protected static IMongoDatabase _database; public static void Main(string[] args) { Program p = new Program(); p.CRUDwithMongoDb(); Console.WriteLine("按任意键退出程序"); Console.ReadKey(); } public void CRUDwithMongoDb() { _client = new MongoClient(); _database = _client.GetDatabase("School"); var _collection = _database.GetCollection<Students>("StudentDetails"); Console.WriteLine("请选择操作:1 - 插入,2 - 更新,3 - 删除,4 - 读取所有"); string userSelection = Console.ReadLine(); switch (userSelection) { case "1": // 插入操作 _collection.InsertOne(GetStudent()); break; case "2": // 更新操作 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": // 删除操作 Console.WriteLine("请输入要删除的学生姓名:"); var deletefirstName = Console.ReadLine(); _collection.DeleteOne(s => s.FirstName == deletefirstName); break; case "4": // 读取所有操作 var all = _collection.Find(new BsonDocument()); foreach (var i in all.ToEnumerable()) { Console.WriteLine($"{i.ProfileId}\t{i.FirstName}\t{i.LastName}\t{i.Age}\t{i.City}"); } break; default: Console.WriteLine("请选择正确的操作"); break; } // 继续程序 Console.WriteLine("\n--------------------------------------------------------------\n按Y继续..."); string userChoice = Console.ReadLine(); if (userChoice == "Y" || userChoice == "y") { this.CRUDwithMongoDb(); } } public static Students GetStudent() { Console.WriteLine("请输入学生姓名:"); string FNm = Console.ReadLine(); Console.WriteLine("请输入学生姓氏:"); string LNm = Console.ReadLine(); Console.WriteLine("请输入学生年龄:"); string StudentAge = Console.ReadLine(); Console.WriteLine("请输入学生城市:"); string StudentCity = Console.ReadLine(); Students student = new Students { FirstName = FNm, LastName = LNm, Age = StudentAge, City = StudentCity, }; return student; } }

以上代码展示了如何使用.NET Core和MongoDB进行CRUD操作。

运行应用程序

最后,可以通过Visual Studio运行应用程序。按下Ctrl + F5启动控制台应用程序。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485