08 2017 档案
摘要:客户端调用WCF的时候报上面的错误,WCF只能序列化基础的数据类型,不能直接序列化SqlParameter类型,需要使用自定义类,然后在WCF服务端转换的方式解决: 自定义类代码如下: WCF服务端代码如下: 接口代码: 接口实现类代码: 客户端调用WCF代码: 这样就可以解决WCF不能直接序列化S
阅读全文
摘要:一、关系型数据库 1、概念 关系型数据库:是指采用了关系模型来组织数据的数据库,是目前各类数据库中使用最为广泛的数据库系统。简单的说,关系模型指的就是二维表格模型,一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。现在使用的主流数据库都是关系型数据库,比如SQL Server、Mysq
阅读全文
摘要:一、MongoDB 1、简介 MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点(分布式),可以保证服务器性能。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库
阅读全文
摘要:C#调用Oracle存储过程的代码如下所示: 示例代码下载地址:https://files.cnblogs.com/files/dotnet261010/CSharp%E6%89%A7%E8%A1%8COracle%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B.rar
阅读全文
摘要:一、使用SqlParameter的方式 代码: 二、使用SqlCommandBuilder 在上面的例子中,得到一个SqlCommand之后要一个一个地去设置参数,这样很麻烦,幸好SqlCommandBuilder有一个静态的方法: 使用这个方法有两个局限性:1、参数必须是SqlCommand。2、
阅读全文
摘要:在前面的文章中讲述过WCF服务的宿主程序主要包括:三种,在那篇文章中,简单的描述了如何把一个WCF服务寄宿到IIS上面,这篇文章中将具体讲述如何把一个WCF服务寄宿到IIS上面。 一、新建一个WCF服务应用程序: 文件->新建->项目:选择WCF下面的WCF服务应用程序 二、分析WcfSvcDemo
阅读全文
摘要:在上一篇文章中讲了如何使用fluent API来创建数据表,不知道你有没有注意到一个问题。上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很多,但也不算很少,如果我们有1000个类怎么办?都写在这一个方法中肯定不好维护。EF提供了另一种方式来解决这个问题,那
阅读全文
摘要:我们有时候在写Insert语句的时候会遇到values里面的个别列的值需要从别的表中查询获取,这时候SQL语句需要使用向表中插入多条数据的写法: 其中,select Email from Users WHERE UserName='dddd' 这条语句就是从Users表中查询出来的数据,查询出来的结
阅读全文
摘要:DbContext类有一个OnModelCreating方法,它用于流利地配置领域类到数据库模式的映射。下面我们以fluent API的方式来定义映射。首先,先将Product类注释掉,重新编写该类,重新编写后的Product类: 然后在数据库上下文Context类中的OnModelCreating
阅读全文
摘要:一、理解Code First及其约定和配置 传统设计应用的方式都是由下而上的,即我们习惯优先考虑数据库,然后使用这个以数据为中心的方法在数据之上构建应用程序。这种方法非常适合于数据密集的应用或者数据库很可能包含多个应用使用的业务逻辑的应用。对于这种应用,如果要使用EF的话,我们必须使用Databas
阅读全文
摘要:在前面的两篇文章中简单介绍了Spring.Net和如何搭建Spring.Net的环境,在本篇文章中将使用Spring.Net实现多数据库的切换。 一、建立一个空白的解决方案,名称为“SpringDotNot” 二、新建一个类库项目:IBLL 在IBLL类库里面有一个名称为IDatabaseServi
阅读全文
摘要:一、下载DLL文件 去Spring的官方网站下载并解压,然后直接添加dll文件的引用就可以了。在上一篇文章中,已经介绍过Spring.Net框架中需要使用到的dll文件。这些程序集文件位于Spring.NET-1.3.1\Spring.NET\bin\net\4.0\debug或Spring.NET
阅读全文
摘要:一、Spring.Net简介 Spring.NET为建立企业级应用提供了一套轻量级的解决方案。通过Spring.NET,我们可以用统一且透明的方式来配置应用程序。Spring.NET的重点是为中间层提供声明式事务管理,以及一个功能齐全的ASP.NET扩展框架。Spring.NET是非侵入式的,代码对
阅读全文
摘要:一、为什么叫T4模板T4(Text Template Transformation Toolkit)是微软官方在Visual Studio 2008中开始使用的代码生成引擎。在Visual Studio中,"T4文本模板"是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件。在Visual C
阅读全文
摘要:策略模式所谓策略其实就是做一件事情有很多很多的方法,比如说一个商场要搞促销,促销的方式有可能有很多:打折啊,满100返50啊、积分等等之类的。这种不同的促销方式在我们系统中表示就是一个一个的策略,并且策略是可以随时更换的,这个时候在设计系统时就可以使用策略模式。商场有可能会更换或追加新的促销模式,也
阅读全文
摘要:单例模式也是创建型模式的一种,也是23种设计模式中比较简单的一种。见名思意,在整个软件系统中,只有某个类型的一个对象,并且访问他的地方也只有一个,也就是只有一个全局对象访问点,这个实例或对象被所有是应用程序所共享;很多可以使用到这样的功能模块:比如数据库连接池对象、打印机对象,因为整个系统中,数据库
阅读全文
摘要:这是我们用得比较多的一种设计模式,也是23种标准设计模式之一,使用前面讲的简单工厂设计模式,遇到具体产品经常变换时就不太适合了,违反了开闭设计原则;怎么才能避免修改工厂类呢?工厂方法模式可以做到。 工厂方法模式要求我们应该有一个抽象的工厂类,我们知道尽量使用抽象类或接口来定义就可以达到一个开闭原则的
阅读全文
摘要:设计模式分类: 创建型模式。 结构型模式。 行为模式。 23种设计模式,如何记。面向对象的系统中有很多对象,创建型模式解决的问题就是如何创建对象,何时创建对象,它努力的让代码不要太多的关注对象的具体类型,不用关注对象的创建细节,而知需要了解对象的抽象类型,创建对象的工作由创建对象的工厂来实现。面向对
阅读全文
摘要:组合/聚合复用原则(LSP) 定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的。重用的方式: 继承、组合、聚合解释说明: 继承:在我们想复用代码时,我们一般会优先想到继承,但是具有继承关系的两个类是耦合度最高的两个类。(父类改了子类可能会受影响,子类改了父类也可能会受影响) 如果父类
阅读全文
摘要:迪米特原则(LOP) 定义:一个对象应当对其他对象尽可能少的了解。解释说明: LOP原则也叫最少支持原则,也就是一个对象应当对其他对象尽可能少的了解,反过来,其他对象也应当尽量少的知道我这个对象,尽可能少的被其他对象所了解。通俗的讲就是不要跟陌生人说话。如果两个类不需要彼此通信的话,那么这两个类就不
阅读全文
摘要:接口隔离原则(ISP) 定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。 好处:比较灵活、方便,不想实现的或不用实现的可以不实现。解释说明: 大部分人都喜欢用一个接口把需要用到的方法全部声明出来,但是ISP建议我们使用多个专门的接口比使用单一的总接口要好,也就是一个接口
阅读全文
摘要:依赖倒置原则(DIP) 定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 好处:稳定性、可维护性、可扩展性。 概述:DI就是依赖倒置的意思,也可称为控制反转,我们以前编写结构化的程序当中,也就是C语言这样的语言时,高层模块依赖于底层模块,也就是调用者和被
阅读全文
摘要:里氏替换原则(LSP)定义:在任何父类出现的地方都可以用它的子类类替换,且不影响功能。解释说明:其实LSP是对开闭原则的一个扩展,在OO思想中,我们知道对象是由一系列的状态和行为组成的,里氏替换原则说的就是在一个继承体系中,对象应该具有共同的外在特性,使用LSP时,如果想让我们的程序达到一个父类出现
阅读全文
摘要:开闭原则(OCP)定义:对扩展开发,对修改关闭。好处: 适应性和灵活性。 稳定性和延续性。 可复用性与可维护性。 解释说明:开闭原则指的是两方面:对功能扩展开发,对修改进行关闭;有时当用户要求或需求发生变化时,我们不得不打开原来的代码进行修改,进行功能的扩展或增加,这种设计如果应用到我们以后的项目开
阅读全文
摘要:单一职责原则(SRP) 定义:系统中的每一个类都应该只有一个职责。 好处:高内聚、低耦合。 解释说明: 单一职责也就是说我们应该让一个类或一个对象只做一件事情,每个类所要关注的就是自己要完成的职责是什么,能够引起这个类变化的原因也应该只有一个,这也是后面提到的所有的设计模式都会遵守的一个原则。 高内
阅读全文
摘要:一、jQuery简介jQuery由美国人John Resig于2006年创建jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装。 二、jQuery的优势1、强大的选择器。2、出色的DOM封装。3、可靠的事件处理机制。4、出色的浏览器兼容性。5、使用隐式迭
阅读全文
摘要:使用Code-First模式生成数据库时,默认生成的数据库表的名称为类型的复数形式,例如实体类名称是"User",默认生成的数据库表名为“Users”,多数情况下我们并不想生成的数据库表名为复数形式,那么应该如何来控制呢? 当我们想要自定义一些数据库表的生成规则的时候,会重写OnModelCreat
阅读全文
摘要:使用Code First模式实现给实体类添加复合主键,代码如下: 使用特性Key和Column设置复合主键,Key表示字段是主键,Order用来设置主键的顺序。使用Key和Column需要添加命名空间:Key的命名空间:System.ComponentModel.DataAnnotations;Co
阅读全文
摘要:示例代码如下(js直接写在了html里面,没有写在一个单独的外部文件中): 界面: 运行效果如下: 点击显示Value值 点击显示Text值
阅读全文