宝哥软件园

核心网连接MongoDB数据库的步骤详解

编辑:宝哥软件园 来源:互联网 时间:2021-09-01

前言

前两天在学习MongoDB相关的知识,做了个小演示,做的是省份下面有多少所学校,嗯,做的比较粗暴。

我们在MongoDB的官方文档中看到,MongoDb的2.4以上的为了。网的驱动是支持。核心网2.0的。

所以,在我们安装好了芒果数据库后,就可以开始芒果数据库的。网之旅了。

方法如下:

连接MongoDB首先要通过框架添加一个MongoDB的包,下载此包

安装完毕后开始写代码了,创建一个省份实体,一个学校实体

使用蒙古数据库.序列化属性;使用系统。集合。通用;命名空间蒙古核心.模型{公共类省份{[BsonId]public int ProvinCe id { get;设置;}公共字符串ProvinceName { get设置;} ///摘要///省份里有多个学校这里用集合保存////摘要公共IListSchool学校名称{ get设置;} } }命名空间蒙古核心.型号{ //用于后面添加学校公立学校(字符串schoolName,字符串年份){学校名称=学校名称;年=年;}公开课School { public string School name { get;设置;}公共字符串年{ get设置;} }}创建上下文类,连接MongoDB

命名空间蒙古核心.模型{公共类ProvinceContext { //定义数据库private readonly IMongoDatabase _ database=null;public ProvinceContext() { //连接服务器名称蒙戈的默认端口27017 var client=new MongoClient(' MongoDB ://.27017');如果(客户端!=null) //连接数据库_数据库=客户端. GetDatabase(")数据库名');}公共imongocollectionprovidence省份{ get { return _database .GetCollectionProvince('省');} } }}创建控制器

private readonly VirtuaL _ context=new VirtuaL context();公共异步任务结果索引(){ var list=await _ context .省。查找(_=真)。tolistansync();返回视图(列表);}视图

@模型列表蒙古核心.模型。省@{视图数据['标题']='索引;} H2 index/H2 H2 index/h2a ASP-action=' Create '输入类型=' button '值='新建' BTN BTN-默认'/table=' table ' tr th省份第/次省份名称/th操作/th /tr @foreach(模型中的定义变量项目){ tr td @Html .显示(模型项目=项目.ProvinceID) /td td @Html .显示(模型项目=项目.省名)/TD TD a ASP-action=' Insert ' ASP-route-ProvinCe id=' @ item .ProvinceID '新增/a a ASP-action=' Detail ' ASP-route-ProvinCe id=' @ item .ProvinceID '详情/a a ASP-action=' Delete ' ASP-route-ProvinCe id=' @ item .ProvinceID '删除/a/TD/tr }/表格运行的时候修改配置在Startup.cs里

运行效果是这样的,现在还没有数据,

点击新建按钮添加省份,这里我添加了湖北省

添加省份代码如下:后端

public IActionResult Create(){ return View();}[httpset][validateantforgretoken]公共异步任务操作结果创建(省项目){尝试{ //初始化学校类型数据项目学校名称=new listscript();等待上下文。省。InsertOneAsync(项);返回重定向到操作(索引的名称);} catch { return View();} }视图:

蒙古核心模型。模型。省@{视图数据['标题']='创建;} H2 CREAte/H2 div class=' row ' div class=' col-MD-4 ' form ASP-action=' CREAte ' div ASP-validation-summary=' model only ' class=' text-danger '/div class=' form-group ' label class=' control-label '省份身份证/标签输入ASP-for=' ProvinCe ID ' class=' form-control '/div div class=' form-group ' label class=' control-label '省份名称/label input ASP-for=' VirtuaL name ' class=' form-control '/div div class=“表单组”输入类型=“提交”值=”保存BTNBTN默认//div /form /div/div接下来就是添加省份下面的学校了

公共异步任务结果插入(int ProvinCe id){ var num=await _ context .省。查找(p=p.ProvinceID==ProvinceID).SingleOrDefaultAsync();返回视图(编号);}[httpset][validateantforgretoken]公共异步TaskIActionResult Insert(int Provincid,字符串岁月,字符串学校名称){ var item=await _ context .省。查找(p=p.ProvinceID==ProvinceID).SingleOrDefaultAsync();学校sl=新学校(学校名称,年份);//添加学校项目。学校名称。添加(sl);//更新ReplaceOneResult操作结果=wait _ context .省. RePlaceOnAsync(n=n . VirtuaL id。equals(VirtuaL id),item,new updateOptiOns { is upset=true });返回重定向到操作(索引的名称);}视图:

蒙古核心模型。模型。省@{视图数据['标题']='插入;}h2新增/H2 div class=' row ' div class=' col-MD-4 '表单ASP-action=' Insert ' div ASP-验证-摘要='仅限模型' class=' text-danger '/div输入类型='隐藏' ASP-for=' Provincid '/div class=' form-group ' label class=' control-label '学校名称/label输入名称='学校名称' class=' form-control '/div class=' form-group ' label class=' control-label '成立年份/标签输入名称=' Years ' class=' form-control '/div class=' form-group '输入类型='submit '值='保存BTNBTN默认//div /form /div/div然后添加学校,我添加了两所学校,在MongoDB里可以看到数据

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

更多资讯
游戏推荐
更多+