NET使用Mongodb入门示例
来源:互联网 发布:恒久软件 义齿 编辑:程序博客网 时间:2024/06/03 11:13
Program.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using MongoDB.Driver;using MongodbTest.Infrastructure;namespace MongodbTest{ class Program { private static Random rand = new Random(); private static MongoHelper mongohelper = new MongoHelper(); static void Main(string[] args) { Add(mongohelper.database); Console.WriteLine("Hello World!"); } static void Add(IMongoDatabase mongoDb) { var Collection = mongoDb.GetCollection<Infrastructure.OAApprovalProcess<dynamic>>("OAApprovalProcess"); var apply = new Infrastructure.OAApprovalProcess<dynamic>() { Applicant = new Infrastructure.Applicant { BranchCompany = "东莞分公司", BranchCompanyId = 1, DepartmentId = 1, DepartmentName = "技术部", Id = 1, Name = "1360000000", PositionId = 1, PositionName = "开发人员", UserImage = null, UserName = "李XX" }, Approvals = new List<Infrastructure.Approver> { new Infrastructure.Approver{ BranchCompany="东莞分公司", DepartmentName="技术部", Id=2, Name="1370000000", PositionName="开发人员", UserName="李XX", ApprovalDate=null, ApprovalOrder=1, Group=1, ImageSignature=null, InvalidDescription=null, InvalidTime=null, ProcessStatus=0, Remarks=null }, new Infrastructure.Approver{ BranchCompany="东莞分公司", DepartmentName="技术部", Id=2, Name="1370000000", PositionName="开发人员", UserName="李XX", ApprovalDate=null, ApprovalOrder=1, Group=1, ImageSignature=null, InvalidDescription=null, InvalidTime=null, ProcessStatus=0, Remarks=null } }, CarbonCopies = new List<Infrastructure.CarbonCopy> { new Infrastructure.CarbonCopy{ BranchCompany="东莞分公司", DepartmentName="技术部", Id=2, Name="1370000000", PositionName="开发人员", UserName="李XX", InvalidDescription=null, InvalidTime=null, IsCanInvalid=false, IsHadRead=false, IsInvalid=false }, new Infrastructure.CarbonCopy{ BranchCompany="东莞分公司", DepartmentName="技术部", Id=2, Name="1370000000", PositionName="开发人员", UserName="李XX", InvalidDescription=null, InvalidTime=null, IsCanInvalid=false, IsHadRead=false, IsInvalid=false } }, ContentAnnex = new List<Infrastructure.ContentAnnex> { new Infrastructure.ContentAnnex{ Address="http://wwww.bidu.ocm", FileName="视频", FileType=1 } }, SubstitutePerson = new List<Infrastructure.SubstitutePerson> { new Infrastructure.SubstitutePerson{ BranchCompany="东莞分公司", DepartmentName="技术部", Name="1370000000", PositionName="开发人员", UserName="李XX", ApprovalDate=null, ApprovalOrder=1, ImageSignature=null, InvalidDescription=null, InvalidTime=null, ProcessStatus=0, Remarks=null, StaffId=5, SubstituteId=5 } }, ProcessStatus = 0, IsCancel = false, CreateDate = DateTime.Now, }; switch (rand.Next(1, 4)) { case 1: apply.ApplyContent = null; apply.ApplyNumber = null; apply.ApplyType = 1; break; case 2: apply.ApplyContent = null; apply.ApplyNumber = null; apply.ApplyType = 1; break; case 3: apply.ApplyContent = null; apply.ApplyNumber = null; apply.ApplyType = 1; break; } mongohelper.Insert(apply); } }}
MongoHelper.cs
using System;using System.Collections.Generic;using System.Text;using MongoDB.Driver;using MongoDB.Bson;using System.Threading.Tasks;using System.Linq.Expressions;namespace MongodbTest.Infrastructure{ /// <summary> /// Mongod帮助类 /// </summary> public class MongoHelper : IDisposable { private const string connStr = "mongodb://127.0.0.1"; private const string dbName = "OA"; MongoClient client; public IMongoDatabase database; public MongoHelper() { this.client = new MongoClient(connStr); this.database = client.GetDatabase(dbName); } public IMongoCollection<t> GetCollection<t>(string tbName) where t : class { return database.GetCollection<t>(tbName); } #region 保存 /// <summary> /// 添加 /// </summary> /// <param name="t"></param> /// <returns></returns> public void Insert(OAApprovalProcess<dynamic> t) { var collection = this.GetCollection<Infrastructure.OAApprovalProcess<dynamic>>(dbName);//.Insert<Infrastructure.OAApprovalProcess<dynamic>>(t); collection.InsertOne(t); } protected void BatchInsert(IList<OAApprovalProcess<dynamic>> list) { var collection = this.GetCollection<OAApprovalProcess<dynamic>>(dbName); collection.InsertMany(list); } #endregion public void Dispose() { GC.SuppressFinalize(this); } }}
OAApprovalProcess.cs实体类
using System;using System.Collections.Generic;using System.Text;using MongoDB.Bson;using Newtonsoft.Json;namespace MongodbTest.Infrastructure{ /// <summary> /// OA审批流程 /// </summary> public class OAApprovalProcess<applyContent> { /// <summary> /// Id /// </summary> public BsonObjectId Id { set; get; } /// <summary> /// 申请编号 /// </summary> public string ApplyNumber { set; get; } /// <summary> /// 申请类型 /// 1广告宣传用品申请表 2广告宣传用品领用签收确认单 3人力需求申请表(增员) 4人力需求申请表(补员) /// 5备用金借款申请表 6 业务招待申请 7出差申请表 8请休假申请表 9差旅费用报销表 10普通费用报销表 /// 11采购申请表 12固定资采购申请表 13特殊费用申请 /// </summary> public int ApplyType { set; get; } /// <summary> /// 申请者资料 /// </summary> public Applicant Applicant { set; get; } /// <summary> /// 申请资料 /// </summary> public applyContent ApplyContent { set; get; } /// <summary> /// 申请资料附件 /// </summary> public List<ContentAnnex> ContentAnnex { set; get; } /// <summary> /// 审核状态 0审核中 1己通过 2驳回 3作废 /// </summary> public int ProcessStatus { set; get; } /// <summary> /// 创建时间 /// </summary> [MongoDB.Bson.Serialization.Attributes.BsonDateTimeOptions(Kind = DateTimeKind.Local)] public DateTime CreateDate { set; get; } /// <summary> /// 审批人 /// </summary> public List<Approver> Approvals { set; get; } /// <summary> /// 抄送人 /// </summary> public List<CarbonCopy> CarbonCopies { set; get; } /// <summary> /// 代签人 /// </summary> public List<SubstitutePerson> SubstitutePerson { set; get; } /// <summary> /// 是否取消 /// </summary> public bool IsCancel { set; get; } }}
Applicant.cs
using System;using System.Collections.Generic;using System.Text;namespace MongodbTest.Infrastructure{ /// <summary> /// 申请人 /// </summary> public class Applicant { /// <summary> /// 申请人Id /// </summary> public int Id { set; get; } /// <summary> /// 申请人账号 /// </summary> public string UserName { set; get; } /// <summary> /// 申请人昵称 /// </summary> public string Name { set; get; } /// <summary> /// 用户头像 /// </summary> public byte[] UserImage { set; get; } /// <summary> /// 分公司名称 /// </summary> public string BranchCompany { set; get; } /// <summary> /// 部门名称 /// </summary> public string DepartmentName { set; get; } /// <summary> /// 职位名称 /// </summary> public string PositionName { set; get; } /// <summary> /// 分公司名称 /// </summary> public int BranchCompanyId { set; get; } /// <summary> /// 部门名称 /// </summary> public int DepartmentId { set; get; } /// <summary> /// 职位名称 /// </summary> public int PositionId { set; get; } }}
ContentAnnex.cs
using System;using System.Collections.Generic;using System.Text;namespace MongodbTest.Infrastructure{ /// <summary> /// 内容附近 /// </summary> public class ContentAnnex { /// <summary> /// 文件类型(1 图片文件 2其它文件) /// </summary> public int FileType { set; get; } /// <summary> /// 文件名 /// </summary> public string FileName { set; get; } /// <summary> /// 文件地址 /// </summary> public string Address { set; get; } }}
Approver.cs
using System;using System.Collections.Generic;using System.Text;namespace MongodbTest.Infrastructure{ /// <summary> /// 审批人 /// </summary> public class Approver { /// <summary> /// 审批人Id /// </summary> public int Id { set; get; } /// <summary> /// 审批人账号 /// </summary> public string UserName { set; get; } /// <summary> /// 审批人昵称 /// </summary> public string Name { set; get; } /// <summary> /// 分组 /// </summary> public int Group { set; get; } /// <summary> /// 审批排序,数值越大,审批越靠后 /// </summary> public int ApprovalOrder { set; get; } /// <summary> /// 分公司名称 /// </summary> public string BranchCompany { set; get; } /// <summary> /// 部门名称 /// </summary> public string DepartmentName { set; get; } /// <summary> /// 职位名称 /// </summary> public string PositionName { set; get; } /// <summary> /// 审核状态 0审核中 1己通过 2驳回 3作废 /// </summary> public int ProcessStatus { set; get; } /// <summary> /// 图片签名 /// </summary> public byte[] ImageSignature { set; get; } /// <summary> /// 备注 /// </summary> public string Remarks { set; get; } /// <summary> /// 审批时间 /// </summary> public string ApprovalDate { set; get; } /// <summary> /// 作废时间 /// </summary> public string InvalidTime { set; get; } /// <summary> /// 作废说明 /// </summary> public string InvalidDescription { set; get; } }}
CarbonCopy.cs
using System;using System.Collections.Generic;using System.Text;namespace MongodbTest.Infrastructure{ /// <summary> /// 抄送人 /// </summary> public class CarbonCopy { /// <summary> /// 抄送人Id /// </summary> public int Id { set; get; } /// <summary> /// 抄送人能否作废审请 /// </summary> public bool IsCanInvalid { set; get; } /// <summary> /// 是否作废 /// </summary> public bool IsInvalid { set; get; } /// <summary> /// 作废时间 /// </summary> public DateTime? InvalidTime { set; get; } /// <summary> /// 作废说明 /// </summary> public string InvalidDescription { set; get; } /// <summary> /// 抄送人账号 /// </summary> public string UserName { set; get; } /// <summary> /// 抄送人昵称 /// </summary> public string Name { set; get; } /// <summary> /// 分公司名称 /// </summary> public string BranchCompany { set; get; } /// <summary> /// 部门名称 /// </summary> public string DepartmentName { set; get; } /// <summary> /// 职位名称 /// </summary> public string PositionName { set; get; } /// <summary> /// 是否己阅读 /// </summary> public bool IsHadRead { set; get; } }}
SubstitutePerson.cs
using System;using System.Collections.Generic;using System.Text;namespace MongodbTest.Infrastructure{ /// <summary> /// 代签人 /// </summary> public class SubstitutePerson { /// <summary> /// 员工Id /// </summary> public int StaffId { set; get; } /// <summary> /// 代签人Id /// </summary> public int SubstituteId { set; get; } /// <summary> /// 代签人账号 /// </summary> public string UserName { set; get; } /// <summary> /// 代签人昵称 /// </summary> public string Name { set; get; } /// <summary> /// 审批排序,数值越大,审批越靠后 /// </summary> public int ApprovalOrder { set; get; } /// <summary> /// 分公司名称 /// </summary> public string BranchCompany { set; get; } /// <summary> /// 部门名称 /// </summary> public string DepartmentName { set; get; } /// <summary> /// 职位名称 /// </summary> public string PositionName { set; get; } /// <summary> /// 审核状态 0审核中 1己通过 2驳回 3作废 /// </summary> public int ProcessStatus { set; get; } /// <summary> /// 图片签名 /// </summary> public byte[] ImageSignature { set; get; } /// <summary> /// 备注 /// </summary> public string Remarks { set; get; } /// <summary> /// 审批时间 /// </summary> public string ApprovalDate { set; get; } /// <summary> /// 作废时间 /// </summary> public string InvalidTime { set; get; } /// <summary> /// 作废说明 /// </summary> public string InvalidDescription { set; get; } }}
运行结果如图:
阅读全文
0 0
- NET使用Mongodb入门示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- MongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- mongoDB 入门指南、示例
- Android网络判断
- ECMAScript 5种基本数据类型介绍、使用时注意事项及类型转换时需遵循的原则
- js中如何快速获取数组中的最大值最小值以及取整
- 算法练习收藏
- C++之虚函数
- NET使用Mongodb入门示例
- 2018校招携程测评,赞RP
- 7614:最低通行费
- Matlab处理虹膜程序解析
- 静态变量 static
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-1011-A Cubic number and A Cubic Number
- C语言下用MySQL对数据库操作
- 文章标题
- 关于数据流问题的学术报告笔记1