RavenDb使用】的更多相关文章

索引>查询>处理文档关联 处理文档关联 RavenDB坚持的一个设计原则就是文档是独立的,这就是说处理一个文档所需的所有数据都存储在文档本身之中.然而,这不是说对象之间不应存在联系. 在许多场景下我们都需要定义对象之间的关系.一般来说,我们主要面临一个主要问题:什么时候加载被包含的实体,我们打算由关联实体加载数据(除非我们对这些数据不感兴趣).将实体关联的所有对象都存储在一个文档中的方式看起来成本很低,但其实这样做在数据库资源和网络流量方面成本很高. RavenDB提供三种优雅的方式来解决这个…
本系列文章主要翻译自RavenDB官方文档,有些地方做了删减,有些内容整合在一起.欢迎有需要的朋友阅读.毕竟还是中文读起来更亲切吗.下面进入正题. 起航 获取RavenDB RavenDB可以通过NuGet获取,也可以直接在RavenDB官网下载压缩包. 首先了解下压缩包中的内容,可以更好的根据需要进行选择. Backup  – 包含用于备份的Raven.Backup工具 Bundles – 包含所有非内置的插件,如Authentication和Encryption. Client – 包含用于…
前言 最近项目因为要存储图片和文件,折腾了RavenDB,使用RavenDB的FS系统统一管理图片和文件. 安装 RavenDB 的FS文件系统,需要用到windows的远程差分压缩功能: 安装好之后下载RavenDB的zip包. 解压之后将目录下的Web 文件夹添加到IIS中: IIS新站点设置完毕之后,接下来需要设置其对应的应用程序池,将版本设置为4.0 的集成模式: 按照官网的要求,还需将 禁用重叠回收设置为True: 设置RavenDB存储文件夹的读写权限,RavenDB的存储文件夹在w…
.聚合缓存 RavenDb默认是缓存所有的请求url的,最大的缓存请求数默认是2048 documentStore.Conventions.ShouldCacheRequest = url => true; documentStore.MaxNumberOfCachedRequests = ; 如果开启这个选项,RavenDb直接从缓存当中读取数据,而不是从服务端. //关闭跟踪 documentStore.Conventions.ShouldAggressiveCacheTrackChange…
.事务支持 别的关系型数据库和RavenDb一起使用 using (var transaction = new TransactionScope()) { BlogPost entity = session.Load<BlogPost>("blogs/1"); entity.Title = "Some new title"; session.SaveChanges(); // will create HTTP request session.Delete…
RavenDb是文档型数据库,但是我们常常也需要定义对象之间的关系,那RavenDb当中是如何处理的呢? RavenDb提供了优雅的解决方式,使用正确的话,可以减少数据开销以及网络拥堵 Denormalization 第一种就是反规范化,下面是一个订单的JSON格式 在Order这个订单当中我们把我们需要的客户信息(名字)也保存下来了,使用的时候,它直接就读出来了. { // Order document with id: orders/1234 "Customer": { "…
在静态索引这块,RavenDb其实的是lucene,所以里面有很多概念,其实都是lucene本身的. .定义静态Indexes documentStore.DatabaseCommands.PutIndex( "BlogPosts/PostsCountByTag", new IndexDefinitionBuilder<BlogPost, BlogTagPostsCount> { // The Map function: for each tag of each post,…
在上一节当中已经介绍了RavenDb的文档设计模式,这一节我们要具体讲一讲如何使用api去访问RavenDb .连接RavenDb var documentStore = new DocumentStore { Url = "http://myravendb.mydomain.com/" }; documentStore.Initialize(); var documentStore = new DocumentStore { ConnectionStringName = "…
RavenDb是一个文档型的数据库,和芒果Db是一个类型的东西,但是公司选择了它,主要是因为它对事务的支持比较好,芒果Db在事务方面有问题. 下面有一个例子. 在关系型数据库中,我们要展示以上的内容,至少需要访问四张表(Posts, Comments, Tags, RelatedPosts) 但是在RevenDb当中,我们只需要保存一个Document. 这样子我们就只需要查询一次数据库就可以展示这个界面了. 从上面这个例子,我们可以很好的看出它和关系型数据库的区别了,而且我们不要尝试用过去的关…
在Raven中查询数据,查询条件必须在index中. 如果查询条件不在index中就会出现如下异常 var query = session.DynamicIndexQuery<ServiceProviderCallTransaction>() .Where(x => x.LocationId == request.Id).ToList() .csharpcode, .csharpcode pre { font-size: small; color: black; font-family:…
.读取 Raven.Abstractions.Data.Attachment attachment = documentStore.DatabaseCommands.GetAttachment("videos/1"); .存储.更新 Stream data = , , }); // don't forget to load the data from a file or something! documentStore.DatabaseCommands.PutAttachment(&q…
.异步执行 var entity = new Company {Name = "Async Company #2", Id = "companies/2"}; using (var session = documentStore.OpenAsyncSession()) { ); // loading an entity asynchronously await session.StoreAsync(entity); // in-memory operations a…
.延迟加载 原来的查询方式如下: IEnumerable<User> users = session .Query<User>() .Where(x => x.Name == "john"); 延迟加载方式: Lazy<IEnumerable<User>> lazyUsers = session .Query<User>() .Where(x => x.Name == "John") .Lazi…
)Result Transformers public class Order { public DateTime OrderedAt { get; set; } public Status Status { get; set; } public string CustomerId { get; set; } public IList<OrderLine> Lines { get; set; } } //单独使用 public class OrderStatisticsTransformer…
2014年11月12日的Connect ();开发者活动上宣布将.NET堆栈基于MIT协议开源,并且提供开源保证,托管在Github上.当时的版本与最终目标相距甚远,然而有一点可以肯定的是,这是一个与.NET Framework 4.x完全不同的框架. 这在社区引发了诸多疑惑和争论.进行剧烈变更的原因显而易见:.NET Framework 4.x已经无法充分发挥最新的技术的威力,而且无法完全满足开发跨平台,云化的大规模应用需求,而一个全新的框架可以让.NET开发者以更简单.更直接的方式来开发We…
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家介绍.NET平台下的文档型数据库RavenDB,虽然我以前也在小项目用过其他文档型数据库,但问题很多,小项目还可以,大项目就歇菜了.这个数据库我关注了很久,最近一直在看它的文档,所以把知道的先总结下来. .NET开源目录:[目录]本博客其他.NET开源项目文章目录 本文原文地址:http://www…
Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构(Algorithms and Data structures) Algorithmia - Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms…
awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. https://github.com/jobbole/awesome-dotnet-cn (注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的) API 框架 NancyFx:轻量.用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台.官网 ASP.NE…
目录 API 应用框架(Application Frameworks) 应用模板(Application Templates) 人工智能(Artificial Intelligence) 程序集处理(Assembly Manipulation) 资源(Assets) 认证和授权(Authentication and Authorization) 自动构建(Build Automation) 缓存(Caching) CLI CLR CMS 代码分析和度量(Code Analysis and Met…
cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013.下面我们体验下Visual Studio 2013 Web开发方面有哪些特性,具体可以参看http://www.asp.net/visual-studio/overview/2013/release-notes. 1..NET Framework 2.0/3.0/3.5/4.0/4…
(注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的) API 框架 NancyFx:轻量.用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台.官网 ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏览器和移动设备.官网 ServiceStack:架构缜密.速度飞快.令人愉悦的 web 服务.官网 Nelibur:Nelibur 是一个使用纯 WCF 构建…
伯乐在线已在 GitHub 上发起「DotNet 资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-dotnet-cn (注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的) API 框架 NancyFx:轻量.用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台.官网 ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛…
转自:http://blog.jobbole.com/96676/ API 框架 NancyFx:轻量.用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台. ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏览器和移动设备. ServiceStack :架构缜密.速度飞快.令人愉悦的 web 服务. Nelibur:Nelibur 是一个使用纯 WCF 构建的基于消息的 web 服务框架.Neli…
转自:https://github.com/jobbole/awesome-dotnet-cn 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大.这也是我们发起这个开源项目的初衷. (…
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 开源倾情奉献系列链接 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(一)开放源代码 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(二)基础类库介绍 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(三)命令行工具集 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(四)服务端介绍 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(五)客户端介绍 这是什么系统?…
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK Excel-读写组件-ExcelLibrary .NET集成开发环境-MonoDevelop 电话软交换机-FreeSWITCH 开源操作系统-Cosmos 坦克机器人战斗仿真引擎-Robocode GIS控件-MapWindow .NET的ORM框架-MyBatis.NET Web开发工具-Webb…
摘要:与关系数据库相比,每个NoSQL都有自己不同的适用场景,这里带大家盘点文档数据库.图数据库.键值数据存储.列存储数据库与内存数据网络等领域的常用的NoSQL. 在几年内,NoSQL数据库一直以性能.可扩展性.灵活的模式和分析能力聚焦着人们的注意力.尽管关系型数据库对于某些用例来说仍是一个不错的选择,就像结构数据和要求ACID事务的应用,但是NoSQL在以下用例中将更具优势: 存储的数据实质上是半结构化或者松散的. 要求一定的等级的性能和扩展性. 存取该数据的应用与最终的一致性相吻合. 非关…
Awesome Big Data A curated list of awesome big data frameworks, resources and other awesomeness. Inspired byawesome-php, awesome-python, awesome-ruby, hadoopecosystemtable & big-data. Your contributions are always welcome! Awesome Big Data Frameworks…
永远正确的经典答案依然是:具体问题具体分析. 数据表VS.数据集 关系型和非关系型数据库的主要差异是数据存储的方式.关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储,也很容易提取数据.与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起.非关系型数据通常存储在数据集中,就像文档.键值对或者图结构.你的数据及其特性是选择数据存储和提取方式的首要影响因素. 预定义结构VS.动态结构 关系型数据通常对应于结构化数据,因为数据表都有预定义好的结构(列的…
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK Excel-读写组件-ExcelLibrary .NET集成开发环境-MonoDevelop 电话软交换机-FreeSWITCH 开源操作系统-Cosmos 坦克机器人战斗仿真引擎-Robocode GIS控件-MapWindow .NET的ORM框架-MyBatis.NET Web开发工具-Webb…