91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.net 中怎么連接MongoDB

發布時間:2021-07-19 11:14:51 來源:億速云 閱讀:191 作者:Leah 欄目:大數據

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

連接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了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荆州市| 雷山县| 江源县| 南木林县| 长海县| 彰武县| 木兰县| 临洮县| 湛江市| 枞阳县| 唐山市| 宜州市| 瓦房店市| 芒康县| 平泉县| 沂水县| 叶城县| 铁力市| 儋州市| 安泽县| 上犹县| 绵阳市| 天柱县| 平塘县| 麟游县| 玉门市| 阳高县| 广西| 江源县| 墨江| 屯昌县| 通化市| 宁陕县| 襄城县| 土默特右旗| 筠连县| 龙口市| 长子县| 昌邑市| 恭城| 诸暨市|