实体类通常需要和数据库表进行了ORM映射,当你需要添加新的属性时,往往同时也需要在数据库中添加相应的字段并配置好映射关系,同时可能还需对数据访问组件进行重新编译和部署才能有效.而当你开始设计一个通用数据访问组件后,因为项目需求的不同和需求的不断变化演变,很难不能保证不会再添加额外的属性和字段.特别是项目部署运行后,添加一个属性和字段带来的额外维护的工作量可能要远远超过对代码进行调整的工作量.本文提供了属性字段扩展的一种思路,在满足核心字段可通过实体类强类型进行访问的同时,还可通过C# 4.0提供…
DynamicObject 是 .NET 4.0以来才支持的一个类,但该类在.NET 4.0下未被标记为[Serializable] Attribute,而在.NET 4.5下则被标记了[Serializable] Attribute.需要注意的是,如果你使用需要进行XML序列化等操作(例如WCF中),部署到未安装.NET 4.5的环境中通常会报错并提示异常,而不管你编译时使用的目标平台是.NET 4.0 还是 .NET 4.5.通常这个错误在安装了.NET 4.5环境的开发机上通常没有问题,即…
YbSoftwareFactory 的 YbRapidSolution for WinForm 插件使用CSLA.NET作为业务层,CSLA.NET的一个强大的特性是支持 N-Tiers 部署.只需非常简单的配置就能在本1-Tier部署方式和N-Tiers部署方式之间切换,这个过程无需编写任何额外的代码,这对于 WinForm 和 WPF 等客户端的开发来说是非常重要的特性,更多信息请参考我前面的文章:YbSoftwareFactory 代码生成插件[七]:YbRapidSolution for…
在Code First中使用Migrations对实体类和数据库做出变更,Mirgration包含一系列命令. 工具--库程序包管理器--程序包管理器控制台 运行命令:Enable-Migrations 启用Code first Migration 运行成功后会产生两个类:Configuration.cs  和<timestamp>_InitialCreate.cs,这是一个用时间戳作为前缀的类.如201212310201487_InitialCreate.cs   然后更改实体类Blog,增…
我们在实际开发中,会遇到实体类与数据库类不匹配的情况,在开发中就会产生各种各样的错误,那么我们应该怎么去解决这一类的错误呢?很简单,下面我们介绍两种解决方法: 首先我们看一下数据库和实体类不匹配的情况: 解决办法1 当我们查询的时候我们可以在映射文件mapper.xml中采取取别名的方式: <select id="findAll" resultMap="cn.com.scitc.domian.User" > select id as userId,use…
通过引用Nuget包添加实体类 运行 Install-Package Microsoft.EntityFrameworkCore.SqlServer 运行 Install-Package Microsoft.EntityFrameworkCore.Tools (EF工具包,创建实体) 执行下面的命令创建实体 Scaffold-DbContext "Data Source=.;Initial Catalog=Blogging;Integrated Security=True" Micro…
今天在公司的项目开发中,遇到一个问题: 后端对象实体类中写入字段顺序与数据库中的存储顺序不一致. 仔细观察到数据库中的表字段的排序方式是按照拼音字母的顺序abcdef......来存储的 而我的实体类中的表结构顺序却不是这样的 经过查阅资料,总结到了解决这个问题的方法: 一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) 二.实体类字段顺序与数据库不一致解决办法 在org.hibernate.cfg包下的PropertyCont…
YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的功能:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件. 一.动态属性扩展 在实际的开发过程中,你肯定会遇到数据库字段不够用的情况,临时增加一个字段有时是很麻烦的一件事.例如需要修改 SQL 语句.视图.存储过程等等,即使你使用的是 ORM 组件,也需要增加和配置映射,每次修改完成后还需反复进行测试,非常的不方便,如果软件已经为客户部署好了的话,嘿嘿,不用说,肯定更让你头疼:而客户临时要添加新的字段的情况却…
很多网友建议在YbRapidSolution for MVC框架的基础上实现CMS功能,以方便进行内容的管理,加快前端页面的开发速度.因此花了一段时间,实现了一套CMS内容发布系统并已集成至YbRapidSolution for MVC框架中. 本CMS当前实现了CMS参数设置.栏目管理.文章管理.文档管理.评论管理.问卷调查等功能.首先看看本CMS使用的主要技术及其整体架构图: 上图中的架构可以说和YbRapidSolution for MVC的架构基本是一致的,如下将对主要的技术要点进行总结…
一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表.最后反向生成Java实体和映射文件,这样可以保证一致性和便捷性. 如果用myeclipse,逆向比较容易,用eclipse就必须用插件,但是myeclipse收费,有些商业产品必须注意版权问题. 下面说一下怎么用eclipse生成实体类和配置文件. 1,下载hibernate的插件,打开Eclipse,help>install new software菜单里面,name随便,url是:http…