在本文中,将学习如何使用.NET Core和MongoDB创建一个简单的应用程序。将通过一步一步的指导,了解如何设置环境、连接数据库以及实现基本的CRUD操作。
为了运行这个示例,需要具备以下环境:
首先,需要在C盘根目录下创建一个名为'data'的文件夹,并在其中创建一个名为'db'的子文件夹,用于存放数据库文件。
接下来,启动MongoDB实例。根据MongoDB版本,进入到相应的bin目录下,使用命令行启动MongoDB服务。例如,如果安装的是MongoDB 3.2版本,可以使用以下命令:
mongod.exe --dbpath C:\data\db
注意:也可以将MongoDB设置为Windows服务,以便以后更方便地启动。
启动MongoDB服务后,不要关闭命令行窗口。使用Mongobooster连接到MongoDB服务器,并创建一个名为'School'的数据库,然后在该数据库下创建一个名为'StudentDetails'的集合。
现在,转到Visual Studio,创建一个新的控制台应用程序项目。
接下来,需要添加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启动控制台应用程序。