四时宝库

程序员的知识宝库

使用ASP.NET Core实现MongoDB的CRUD操作

介绍

在本文中,我们将学习如何使用ASP.NET CORE去实现MongoDB的CRUD操作。MongoDB是一个NO SQL的数据库。与SQLServer相比,它的优势在于可伸缩性和灵活性,然而,这些并不是数据库MongoDB所具有的唯一可取之处。

步骤1

首先,我们将使用Nuget命令在Visual Studio中添加mongodb数据库

Install-Package MongoDB.Driver -Version 2.11.6

步骤2

登录mongodb

https://www.mongodb.com/

登录后创建集群,如果已经创建了一个集群,则不要创建集群

创建集群后,单击Connect

单击连接后,单击连接应用程序

之后,您将找到连接字符串。

选择驱动器C#.NET,对于版本,我使用的是2.11.6,所以选择2.11或更高版本。

第3步

现在我们来到visualstudio。创建ASP.NET Core Web应用

第4步

创建项目后,转到appsettings.json文件并设置连接字符串。

{??
????"MyKey":?"mongodb+srv://ajay:@cluster0.qmqmt.mongodb.net/?retryWrites=true&w=majority",??
????"Logging":?{??
????????"LogLevel":?{??
????????????"Default":?"Information",??
????????????"Microsoft":?"Warning",??
????????????"Microsoft.Hosting.Lifetime":?"Information"??
????????}??
????},??
????"AllowedHosts":?"*"??
}??

在上面的MYKEY中,您需要输入您的信息并更改密码和数据库。

请注意

如果数据库已经创建,那么它就在工作,但是如果数据库还没有创建,那么它就会自动创建。

第5步

现在我们来看看控制器:

public?HomeController(IConfiguration?Configuration)?{??
????Client?=?new?MongoClient(Configuration["MyKey"]);??
????DB?=?Client.GetDatabase("Your?Database");??
}??

您可以设置数据库名称,即连接字符串。

第6步

现在创建一个类:

public?class?CarModel?{??
????public?ObjectId?Id?{??
????????get;??
????????set;??
????}??
????public?string?Empname?{??
????????get;??
????????set;??
????}??
????public?string?Empemail?{??
????????get;??
????????set;??
????}??
????public?string?Phoneno?{??
????????get;??
????????set;??
????}??
????public?string?state?{??
????????get;??
????????set;??
????}??
}???

在上面的类中,ObjectId是自动创建的Bson ID,您可以使用

using?MongoDB.Bson;??

第7步 - 插入数据

[HttpPost]??
public?IActionResult?Index(CarModel?model)?{??
????var?collection?=?DB.GetCollection??("EmployeeDetails");??
????collection.InsertOne(model);??
????return?View();??
}??

第8步 - 编辑和更新数据

编辑

public?ActionResult?Edit(string?id)?{??
????if?(ModelState.IsValid)?{??
????????var?collection?=?DB.GetCollection??("EmployeeDetails").Find(Builders??.Filter.Eq("Id",?ObjectId.Parse(id))).SingleOrDefault();??
????????return?View(collection);??
????}??
????return?View();??
}

更新

[HttpPost]??
public?ActionResult?Edit(CarModel?model,?string?Id)?{??
????var?collection?=?DB.GetCollection??("EmployeeDetails");??
????var?update?=?collection.FindOneAndUpdateAsync(Builders??.Filter.Eq("Id",?ObjectId.Parse(Id)),?Builders??.Update.Set("Empname",?model.Empname).Set("Empemail",?model.Empemail));??
????return?RedirectToAction("About");??
}??

在上面的编辑中,您将在ID参数中传入当前ID。

第9步

显示数据

public?ActionResult?Show()?{??
????var?collection?=?DB.GetCollection??("EmployeeDetails").Find(new?BsonDocument()).ToList();??
????return?View(collection);??
}??

摘要

在本文中,我们学习了使用ASP.NET Core和MongoDB。本文让您基本了解如何将MongoDB与ASP.NET Core应用程序。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接