asp.net 使用 MongoDB 初体验
首先:驱动
如果asp.net 想使用MongoDB,.net没有自带的链接类。得用第三方或官方的链接类。
当然有很多种驱动,我就不一一介绍了。
今天我就介绍一个我比较常用的驱动-----MongoDB。
接下来,我们还要去下载MongoDB的C#驱动,它可以让我们在C#中使用MongoDB 。下载地址:https://github.com/samus/mongodb-csharp
我们在C#访问MongoDB所需的驱动就是项目MongoDB了。编译这个项目就能得到了,文件名:MongoDB.dll
asp.net 中 使用 MongoDB
首先先启动MongoDB,我在之前的文章里已经介绍过在这里就不做介绍了。
建立一个实体类 用户表
- public partial class User{
- [MongoId]
- public string UID{ get; set; }
- public string NAME{ get; set; }
- public string SEX{ get; set; }
- public int AGE{ get; set; }
- }
说明:这就是一个简单的类,而且代码中的[MongoId]也是可以不要的,如果要是写了他会映射"_id"字段。
MongoDB数据库首先先建一个数据库叫“dbmy”,建一个集合(表)“User”,在建立文档(数据)。
一下例子都需要引入MongoDB.dll
- private string _connectionString = "Server=127.0.0.1"; //数据库服务器ip或地址
- private string _dbName = "dbmy";
添加数据
- public void Insert(User user)
- {
- user.UID = Guid.NewGuid().ToString("N");
- // 首先创建一个连接
- using( Mongo mongo = new Mongo(_connectionString) ) {
- // 打开连接
- mongo.Connect();
- // 切换到指定的数据库
- var db = mongo.GetDatabase(_dbName);
- // 根据类型获取相应的集合
- var collection = db.GetCollection<User>();
- // 向集合中插入对象
- collection.Insert(customer);
- }
- }
删除数据
- public void Delete(string UId)
- {
- using( Mongo mongo = new Mongo(_connectionString) ) {
- mongo.Connect();
- var db = mongo.GetDatabase(_dbName);
- var collection = db.GetCollection<Customer>();
- // 从集合中删除指定的对象
- collection.Remove(x => x.UID == UId);
- }
- }
修改数据
- public void Update(User user)
- {
- using( Mongo mongo = new Mongo(_connectionString) ) {
- mongo.Connect();
- var db = mongo.GetDatabase(_dbName);
- var collection = db.GetCollection<User>();
- // 更新对象
- collection.Update(user, (x => x.UID == user.UID));
- }
- }
获取数据
- public User GetById(string UId)
- {
- using( Mongo mongo = new Mongo(_connectionString) ) {
- mongo.Connect();
- var db = mongo.GetDatabase(_dbName);
- var collection = db.GetCollection<User>();
- // 查询单个对象
- return collection.FindOne(x => x.UID == UId);
- }
- }
调用
假如把操作方法都封装在一个叫test.cs的类。
- test t=new test();
- //插入数据
- t.Insert(User);
- //更新数据
asp.net 使用 MongoDB 初体验的更多相关文章
- node+express+mongodb初体验
从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp.grunt.yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续. 今天花了一天的时间,去了解整理整 ...
- elmah - Error Logging Modules and Handlers for ASP.NET - 1 : 初体验
elmah(英文):https://code.google.com/p/elmah/ 写作思路:先看结果,然后再说原理 elmah文章基本内容如下 1.安装 2.基本使用 3.详细配置讲解 ...
- mongodb初体验
最近关注大数据,自然会关注到nosql数据库,其中当然是mongodb. nosql数据库大多是k,v数据库,这也不是新鲜的名词了,berkerly DB已经存在很多年了,现在属于oracle. 具体 ...
- asp net core 跨平台初体验
标: 在 ubuntu 16.04 上部署一个 asp.net core 站点,打开网站后显示一段文字. 安装 net core 运行环境:ubuntu 16.04 LTS 1.添加 apt 源 ...
- asp.net mvc 5 初体验
参考:http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started 1. 新建 ASP.Net Web 应用程序,跟着向导一路 ...
- 分布式NoSQL数据库MongoDB初体验-v5.0.5
概述 定义 MongoDB官网 https://www.mongodb.com/ 社区版最新版本5.0,其中5.2版本很快也要面世了 MongoDB GitHub源码 https://github.c ...
- ASP.NET2.0组件控件开发视频 初体验
原文:ASP.NET2.0组件控件开发视频 初体验 ASP.NET2.0组件控件开发视频 初体验 录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku. ...
- ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...
- SignalR初体验
简介 ASP .NET SignalR[1] 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以 ...
随机推荐
- Linux与Windows的桥梁--共享目录
1.关闭防火墙和selinux # service iptables stop # chkconfig --level 2345 iptables off ...
- .net面试题( 转)
描述线程与进程的区别? 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同 Windows上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响 ...
- AMD规范与CMD规范
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...
- 一个页面,多个flash(刚学jq插件)
只贴js那部分哦 调用 // flash轮播图 var sumF=$('.btnTabs span').length/4; //有四个flash var flashT01=new flash($('. ...
- Maya QT interfaces in a class
Most tutorials online have suggested the way to fire commands inside QT interfaces launched n Maya ( ...
- Ubuntu 下部署asp.net运行环境
在Ubuntu下部署asp.net运行环境,网上教程很多,基本都是编译Mono源码,然后安装jexus.但是可能是我最近RP不太好,编译Mono源码一直都是失败,无奈之下只好找另外的方法安装了. 网上 ...
- vi 在行首尾添加字符串
在行首尾添加字符串 用下列命令在文本每行的行首添加字符串“NewString”,请注意空格的存在. :g/^/s//NewString/g :%s/^/NewString/g ...
- POJ 1236 Network of Schools[连通分量]
题目链接:http://poj.org/problem?id=1236题目大意:给出N台电脑,电脑间单向连通传送文件问题1.网络中最少放几个文件保证所有电脑都能接受到文件问题2.最少向网络中加几条线保 ...
- 解决win8找不到没有AppData文件夹
现象:今天打开win8,由于是从xp直接过渡到win8,所以想寻找类似于AppData的文件夹.但是在user/用户名/下面木有. 解决:这是个隐藏文件,和xp一样,取消隐藏文件夹即可看到. 然后就可 ...
- POJ 1275 Cashier Employment(差分约束)
http://poj.org/problem?id=1275 题意 : 一家24小时营业的超市,要雇出纳员,需要求出超市每天不同时段需要的出纳员数,午夜只需一小批,下午需要多些,希望雇最少的人,给出每 ...