代码改变世界

随笔分类 -  数据库

记录下关于SQL Server的东西

2014-03-10 09:58 by JerremyZhang, 383 阅读, 收藏, 编辑
摘要: CTE之所以与其他表表达式不同,是因为它支持递归查询:定义一个递归CTE,至少需要两个查询(或者更多),第一个查询称为定位点成员(anchormember),第二个查询称为递归成员(recursivemember),基本格式如下:定位点成员只是返回有效关系结果表的查询,与用于非递归查询类似,定位点成员查询只被执行一次。递归成员是一个引用了CTE名称的查询,对CTE名称的引用表示查询在一个执行序列中逻辑上的“前一个结果集”,第一次调用递归成员时,它表示的就是定位点成员的查询结果,之后调用递归时,引用CTE则代表前一次调用所返回的结果集。递归成员没有显示的递归终止检查,递归成员会一直被重复调用,直 阅读全文

MongoDB学习(翻译7)

2013-09-17 18:36 by JerremyZhang, 2048 阅读, 收藏, 编辑
摘要: 接上篇忽略某字段或属性手动构造类映射时您可以简单地通过不将字段或属性添加到类映射。当使用自动映射你需要指定应忽略该字段或属性的方法。可以使用属性编写如下编写:public class MyClass { [BsonIgnore] public string SomeProperty { get; set; }}或使用初始化代码而不属性:BsonClassMap.RegisterClassMap(cm => { cm.AutoMap(); cm.UnmapProperty(c => c.SomeProperty);});在这种情况下的自动映射将有最初属性自动添加到类映射但... 阅读全文

MongoDB学习(翻译6)

2013-09-16 16:31 by JerremyZhang, 1367 阅读, 收藏, 编辑
摘要: 接上篇。。。。字段或属性层次的序列化选项有许多种让你控制序列化的方式,上一节通过约定方法来控制序列化,你也可以通过代码配置或者成员映射或者使用特性来控制你的序列化,下面说道的序列化的各个方面,我们都会展示两种方式。Opt-In大多数类会使他们的属性自动映射,有一些情况下,不会出现这种情形,例如,如果你的属性是只读的,那么它便不会加入到自动映射的队列中,为了包含该只读属性,你可以使用BsonElementAttributepublic class MyClass { private readonly string _someProperty; [BsonElement] pu... 阅读全文

MongoDB学习(翻译5)

2013-09-14 16:45 by JerremyZhang, 1776 阅读, 收藏, 编辑
摘要: C#驱动序列化文档对象介绍本文档基于C#官方驱动1.8版本。本节C#驱动教程谈论C#类到BSON对象的序列化和反序列化。序列化是映射一个对象到可保存到MongoDB库中BSON对象的过程,反序列化由BSON文档重建对象的逆过程。因此,序列化过程通常被称为“对象映射”序列化使用BSON库处理。BSON库拥有一个可扩展的序列化结构,所以你可以控制你的序列化方式。BSON库提供的默认的序列化其可以满足你大部分的需求,如果你需要特殊处理,你可以对其进行扩展。默认序列化器通过“类映射”来处理。类映射是定义类和BSON文档对象间映射的一种结构,它包含一系列参与序列化的字段或属性并且为每一个定义了所需的序列 阅读全文

MongoDB学习(翻译4)

2013-09-13 09:58 by JerremyZhang, 1416 阅读, 收藏, 编辑
摘要: 接上篇。。。。。EndsWith此方法用于测试文档对象的字符串类型的字段或者属性是否以某一个特定的字串结束varquery=fromcincollection.AsQueryable()wherec.S.EndsWith("abc")selectc;//orvarquery=collection.AsQueryable().Where(c=>c.S.EndsWith("abc"));可转化为下面mongodb查询语句(使用了正则表达式)::{S:/abc$/}enum比较 (==,!=,,>=)枚举字段或者属性可以和同一种类型的枚举常量比较, 阅读全文

MongoDB学习之--安全和认证

2013-09-12 17:26 by JerremyZhang, 1792 阅读, 收藏, 编辑
摘要: 本文主要介绍两部分内容,Mongodb的安全检查配置以及安全认证操作: 虽然确保系统安全是系统管理员的重要工作,但是作为程序员了解其机制也是大有好处的,毕竟不是每个公司都很规范,都有严格的分工制度,说不定作为程序员的我们常常身兼数职; MongoDB支持对单个连接的认证,即便这个认证的权限模式很丑陋 阅读全文

MongoDB学习(翻译3)

2013-09-12 08:31 by JerremyZhang, 1524 阅读, 收藏, 编辑
摘要: 支持的where字句(比较多,今天先写一部分)本节介绍支持的where字句正如前面提到的,不是所有的C#表达式都支持where子句。您可以以此文为指导,或者你可以尝试表达,看看它是否工作(如果不支持,抛出运行时异常,)。Where字句通常使用where查询操作运算符来介绍,但是在某些情况下,我们必须通过&&合并使用它。注意:在1.4版本中还有些限制,但是之后的版本已经解除了,所以在此不再翻译。&&(与操作)子表达式可以通过&&合并来查询满足所有子表达式的文档var query = from c in collection.AsQueryable( 阅读全文

MongoDB学习之--增删改查(2)

2013-09-11 18:07 by JerremyZhang, 1980 阅读, 收藏, 编辑
摘要: 昨天简单介绍了官方驱动操作MongoDB进行增删查操作的,今天继续介绍更新操作.....方法简介官方驱动中更新操作使用collection的Update方法,有泛型和非泛型两个版本:其签名如下(列出了两个简单并常用的的重载,还有几个):public virtual WriteConcernResult Update(IMongoQuery query, IMongoUpdate update);public virtual WriteConcernResult Update(IMongoQuery query, IMongoUpdate update, UpdateFlags flags)首先 阅读全文

MongoDB学习(翻译2)

2013-09-11 11:23 by JerremyZhang, 1442 阅读, 收藏, 编辑
摘要: C#驱动之LINQ教程介绍本教程涵盖了1.8发布版本对linq查询的支持。开始本教程之前,你应该至少阅读下C#驱动教程关于C#驱动的介绍快速开始首先,添加下面命名空间到您的程序中:using MongoDB.Driver.Linq;然后,声明一变量保存对集合的引用var collection = database.GetCollection("collectionname");最基本调用linq查询的方式是构造一个集合变量,通过调用AsQueryable()后,你便可以正常调用linq了。实例:var query = from e in collection.AsQuery 阅读全文

mongodb学习(翻译1)

2013-09-10 22:33 by JerremyZhang, 1140 阅读, 收藏, 编辑
摘要: 学习mongodb,试着翻译写,英语能力有限,希望大家指正,不顺畅地方大家担待,会后续翻译后面内容;开始认识C#驱动(官方)简介本介绍提供了足够的信息,让你开始使用C#的驱动程序。起步之后,你可以参考文档的其余部分,了解更多信息。下载C#驱动最简单的下载C#官方驱动的方式是通过Nuget,(当前version:1.8.2)你也可以在此地址下载该驱动https://github.com/mongodb/mongo-csharp-driver/releases如果是下载的是.zip文件,只要简单的解压并放在任何一个位置即可,如果下载的是.msi文件,点击即可运行安装,该程序会把所有dlls安装到C 阅读全文

MongoDB学习之--增删改查(1)

2013-09-10 16:53 by JerremyZhang, 1592 阅读, 收藏, 编辑
摘要: 本文是对mongodb学习的一点笔记,主要介绍最简单的增删改操作,初学,看着API,有什么错误,希望大家指正:(使用官方驱动) 1.增 增加操作是最简单的,构造bsonDcument插入即可: 方式1,直接构造: 方式2,通过实体构造: 2.删 关键就是构造删除条件,通过api查到Remove方法的 阅读全文