免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

.net中怎么連接MongoDB

這期內容當中小編將會給大家帶來有關.net 中怎么連接MongoDB,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創新互聯-專業網站定制、快速模板網站建設、高性價比鎮平網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鎮平網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋鎮平地區。費用合理售后完善,十年實體公司更值得信賴。

連接MongoDB首先要通過Nuget添加一個MongoDB的包,下載此包

.net 中怎么連接MongoDB

.net 中怎么連接MongoDB

安裝完畢后開始寫代碼了,創建一個省份實體,一個學校實體

using MongoDB.Bson.Serialization.Attributes;

using System.Collections.Generic;

namespace MongoCore.Models

{

    public class Province

    {

        [BsonId]

        public int ProvinceID { get; set; }

        public string ProvinceName { get; set; }

        /// <summary>

        /// 省份里有多個學校  這里用集合保存

        /// </summary>

        public IList<School> SchoolName { get; set; }

    }

}

namespace MongoCore.Models

{

        //用于后面添加學校

        public School(string schoolName, string years)

        {

            SchoolName = schoolName;

            Years = years;

        }

    public class School

    {

        public string SchoolName { get; set; }

        public string Years { get; set; }

    }

}

創建上下文類,連接MongoDB

namespace MongoCore.Models

{

    public class ProvinceContext

    {

        //定義數據庫

        private readonly IMongoDatabase _database = null;

        public ProvinceContext()

        {

            //連接服務器名稱  mongo的默認端口27017

            var client = new MongoClient("mongodb://.......:27017");

            if (client != null)

                //連接數據庫

                _database = client.GetDatabase("數據庫名");

        }

        public IMongoCollection<Province> Province

        {

            get

            {

                return _database.GetCollection<Province>("Province");

            }

        }

    }

}

創建控制器

private readonly ProvinceContext _context = new ProvinceContext();      

public async Task<IActionResult> Index() {          
  var list = await _context.Province.Find(_ => true).ToListAsync();            return View(list); }

視圖

@model List<MongoCore.Models.Province>

@{

    ViewData["Title"] = "Index";

}

<h3>Index</h3>

<h3>Index</h3>

<a asp-action="Create"><input type="button" value="新 建" class="btn btn-default" /></a>

<table class="table">

    <tr>

        <th>省份ID</th>

        <th>省份名稱</th>

        <th>操作</th>

    </tr>

    @foreach (var item in Model)

    {

        <tr>

            <td>

                @Html.DisplayFor(modelItem => item.ProvinceID)

            </td>

            <td>

                @Html.DisplayFor(modelItem => item.ProvinceName)

            </td>

            <td>

                <a asp-action="Insert" asp-route-ProvinceID="@item.ProvinceID">新 增</a>&nbsp;&nbsp;

                <a asp-action="Detail" asp-route-ProvinceID="@item.ProvinceID">詳 情</a>&nbsp;&nbsp;

                <a asp-action="Delete" asp-route-ProvinceID="@item.ProvinceID">刪 除</a>&nbsp;&nbsp;

            </td>

        </tr>

    }

</table>

運行的時候修改配置在Startup.cs里

.net 中怎么連接MongoDB

運行效果是這樣的,現在還沒有數據,

.net 中怎么連接MongoDB

點擊新建按鈕添加省份,這里我添加了湖北省

.net 中怎么連接MongoDB

添加省份代碼如下:后端

public IActionResult Create()

        {

            return View();

        }

        [HttpPost]

        [ValidateAntiForgeryToken]

        public async Task<ActionResult> Create(Province item)

        {

            try

            {

                //初始化學校類型數據

                item.SchoolName = new List<School>();

                await _context.Province.InsertOneAsync(item);

                return RedirectToAction(nameof(Index));

            }

            catch

            {

                return View();

            }

        }

視圖:

@model MongoCore.Models.Province

@{

    ViewData["Title"] = "Create";

}

<h3>Create</h3>

<div class="row">

    <div class="col-md-4">

        <form asp-action="Create">

            <div asp-validation-summary="ModelOnly" class="text-danger"></div>

            <div class="form-group">

                <label class="control-label">省份ID</label>

                <input asp-for="ProvinceID" class="form-control" />

            </div>

            <div class="form-group">

                <label class="control-label">省份名稱</label>

                <input asp-for="ProvinceName" class="form-control" />

            </div>

            <div class="form-group">

                <input type="submit" value="保 存" class="btn btn-default" />

            </div>

        </form>

    </div>

</div>

接下來就是添加省份下面的學校了

public async Task<IActionResult> Insert(int ProvinceID)

        {

            var num = await _context.Province.Find(p => p.ProvinceID == ProvinceID).SingleOrDefaultAsync();

            return View(num);

        }

        [HttpPost]

        [ValidateAntiForgeryToken]

        public async Task<IActionResult> Insert(int ProvinceID, string Years, string SchoolName)

        {

            var item = await _context.Province.Find(p => p.ProvinceID == ProvinceID).SingleOrDefaultAsync();

            School sl = new School(SchoolName,Years);

            //添加學校

            item.SchoolName.Add(sl);

            //更新

            ReplaceOneResult actionResult

               = await _context.Province

                               .ReplaceOneAsync(n => n.ProvinceID.Equals(ProvinceID)

                                       , item

                                       , new UpdateOptions { IsUpsert = true });

            return RedirectToAction(nameof(Index));

        }

視圖:

@model MongoCore.Models.Province

@{

    ViewData["Title"] = "Insert";

}

<h3>新增</h3>

<div class="row">

    <div class="col-md-4">

        <form asp-action="Insert">

            <div asp-validation-summary="ModelOnly" class="text-danger"></div>

            <input type="hidden" asp-for="ProvinceID" />

            <div class="form-group">

                <label class="control-label">學校名稱</label>

                <input name="SchoolName" class="form-control" />

            </div>

            <div class="form-group">

                <label class="control-label">成立年份</label>

                <input name="Years" class="form-control" />

            </div>

            <div class="form-group">

                <input type="submit" value="保 存" class="btn btn-default" />

            </div>

        </form>

    </div>

</div>

然后添加學校,我添加了兩所學校,在MongoDB里可以看到數據

.net 中怎么連接MongoDB

上述就是小編為大家分享的.net 中怎么連接MongoDB了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。

分享文章:.net中怎么連接MongoDB
本文來源:http://m.newbst.com/article18/pjcigp.html

成都網站建設公司_創新互聯,為您提供商城網站做網站網站設計公司網站排名微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作