随笔分类 -  Enterprise Solution

Web开发框架
摘要:.NET 3.5提供的扩展方法特性,可以在不修改原类型代码的情况下扩展它的功能。下面分享的这些扩展方法大部分来自于Code Project或是Stackoverflow,.NET为此还有一个专门提供扩展方法的网站(extensionMethod)。 涵盖类型转换,字符串处理,时间转化,集合操作等多个方面的扩展。 1 TolerantCast 匿名类型转换 这个需求来源于界面中使用Backgro... 阅读全文
posted @ 2015-07-21 07:59 信息化建设 阅读(4145) 评论(12) 推荐(17) 编辑
摘要:我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联。除去业务上的复杂性,如何设计这样的一个协作良好的系统,搭建开发人员基础平台,一直是我研究的方向。 SouceCounter(版本3.3.91 阅读全文
posted @ 2015-07-20 07:48 信息化建设 阅读(10990) 评论(4) 推荐(10) 编辑
摘要:1. 通用查询模块,可以通过关联数据库表,存储过程或程序代码开发查询,多个查询之间也可构成主从关联查询。 2. 业务异常处理 支持统一的异常处理。 3. 内置一个简单的SQL Server查询分析器,在关联表查询不满足需求的情况下直接运行SQL语句查询。 4. 文件共享管理,支持文件存储在数据库或文件服务器中。 5. 加密解密,提供可逆和不可逆加密,可逆加密用于数据库连接字符串,不可... 阅读全文
posted @ 2015-07-16 17:08 信息化建设 阅读(1034) 评论(0) 推荐(0) 编辑
摘要:借助于反射,可获取当前窗体中的所有控件,根据需要设置它们的属性。 Font defaultFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); //查找所有的控件,设置为同样的字体 IterateControls(this.Controls, typeof(Foundation.WinUI.Misc.Label)); for... 阅读全文
posted @ 2015-07-16 16:47 信息化建设 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:数据库表定义为SalesOrder,用LLBL Gen Pro生成的实体定义是SalesOrderEntity,再用Code Smith生成的数据读写接口是ISalesOrderManager,最后是生成接口实现类型SalesOrderManager。 命名规范如下: SalesOrder => SalesOrderEntity => ISalesOrderManager => SalesOr... 阅读全文
posted @ 2015-07-16 16:25 信息化建设 阅读(711) 评论(0) 推荐(0) 编辑
摘要:.NET 系统以Main方法作为应用程序的启动入口点,Enterprise Solution的启动程序源代码如下: [STAThread] static void Main() { string MAIN_INSTANCE_KEY = "EnterpriseMain"; SingleProgramInst... 阅读全文
posted @ 2015-07-16 16:15 信息化建设 阅读(657) 评论(0) 推荐(0) 编辑
摘要:1. 登陆窗体和主界面增加语言选项,同时可记住用户登陆的语言和数据库。 2. 主界面的树功能可记住上次打开的模块菜单。 3. 修复主界面菜单生成问题和导航图区上下文菜单生成问题。 4. 增加自动更新功能。可以将最新的程序包部署到HTTP服务器上,主界面的Check Update功能可以自动下载程序文件并解压缩到本地,再重新启动主程序。 因为ERP要考虑各种客户使用的版本不一定相同,因为稳定... 阅读全文
posted @ 2015-07-16 16:03 信息化建设 阅读(661) 评论(0) 推荐(0) 编辑
摘要:Entity Framework 5引入了表值函数(Table-Valued Functions TVFs)。表值函数的返回类型是一个Table类型,可用在SQL查询语句中。最简单的表值函数,读取客户表的记录,参考如下代码:CREATE FUNCTION GetCustomersreturn tableASreturn ( SELECT * FROM Customer) ;此外,表值函数还可以指定要返回的表的列名和函数参数,请参考下面的代码例子:CREATE FUNCTION GetCustomer(@customerNo nvarchar(50))returns table AS... 阅读全文
posted @ 2013-09-21 09:48 信息化建设 阅读(2798) 评论(1) 推荐(0) 编辑
摘要:做数据库开发,如果要用ORM,LLBL Gen是一款优秀的框架和工具,目前最新版本是4.0。同时也推出了Lite免费版本,与Visual Studio的Express版本一样, 免费,但是它仅仅只支持10个实体,可满足学习的需要,做项目用则不行。 借助于MSIL知识和工具.NET Reflector,我可以直接对.NET程序集进行编辑,去掉许可证授权验证窗口,转化为可用的软件。 请参考下面... 阅读全文
posted @ 2013-08-28 21:14 信息化建设 阅读(2584) 评论(2) 推荐(0) 编辑
摘要:一、系统架构 C# .NET 4.0 + Win Form + SQL Server 2005 二、五大核心模块 (菜单设计器Menu Designer,查询设计器Query Designer,报表设计器Report Designer,工作流设计器Workflow Designer,窗体设计器For 阅读全文
posted @ 2013-08-09 09:46 信息化建设 阅读(2539) 评论(1) 推荐(0) 编辑
摘要:SQL Server Profiler用来跟踪应用程序发送到SQL Server中的SQL语句,用于检测性能,查找问题。Entity Framework 也有它的跟踪工具EFProf,用于跟踪Entity Framework发送到SQL Server中的SQL语句。 首先在代码中添加对程序集HibernatingRhinos.Profiler.Appender的引用,并添加如下方法 Hiber... 阅读全文
posted @ 2013-07-26 09:34 信息化建设 阅读(6611) 评论(14) 推荐(6) 编辑
摘要:Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项。简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目。Razor Pad是一个编辑Razor脚本的工具,脱离于ASP.NET 和Visual Studio。 微软已经有一套模板引擎T4,在设计ASP.NET MVC 3时又设计一套模板引擎Razor,对开发者而言是多一... 阅读全文
posted @ 2013-07-25 09:27 信息化建设 阅读(16234) 评论(4) 推荐(5) 编辑
摘要:使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何。客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行。经过一段时间的摸索,得到一点经验和体会。C#之父曾说,抗拒变化是人类的天性。Visual Studio 2012仅仅是在界面上变化就很让人感叹,也只有这样的大公司才有精力和时间去做这样的变更。微软有意推广一项技术,会在他最得意的产品中应用... 阅读全文
posted @ 2013-07-23 19:24 信息化建设 阅读(14653) 评论(9) 推荐(9) 编辑
摘要:前一篇文章介绍了应用LLBL Gen生成Entity Framework所需要的类型定义,用一行代码完成数据资料的读取, 《LLBL Gen + Entity Framework 程序设计入门》。如果已经对Entity Framework产生兴趣,则可以借助于这一篇,来学习Entity Framework如何对资料库进行操作。 连接字符串的写法 Database Connection Str... 阅读全文
posted @ 2013-07-23 09:38 信息化建设 阅读(2859) 评论(2) 推荐(0) 编辑
摘要:Entity Framework推出有好几年,除了微软的Visual Studio可以做实体框架开发外,第三方的开发工具如LLBL Gen, Devart Entity Developer也可以用来做设计开发。 设计数据库表Configuration,它的SQL定义如下 IF OBJECT_ID ('dbo.Configuration') IS NOT NULL DROP TABLE ... 阅读全文
posted @ 2013-07-22 09:40 信息化建设 阅读(2515) 评论(5) 推荐(1) 编辑
摘要:以LLBL Gen作为ORM数据访问框架,生成实体层,然后在实体层中绑定业务逻辑。有以下几个好处: 1 强类型对象,可以编译时发现错误,而不是运行时错误 2 可以借助于反射做扩展,灵活性高。 情境设定 如何让销售单中的客户编号,只能在第一次输入的时候,可以修改,保存后不能修改,如何实现? 最简单的实现方法是,在界面的OnLoad事件中,加上一行代码: txtCustomerNo.R... 阅读全文
posted @ 2013-07-11 09:18 信息化建设 阅读(1844) 评论(2) 推荐(2) 编辑
摘要:ERP软件应该实现多国语言功能。一般是英文,简体中文和繁体中文。理论上,实现两种或两种以上的语言就已经实现任意语言,但是从Window的语言和区域选项中可以看到,要完整的实现多国语言,还需要对这些特性进行定制。 从实现方法来上说,有两种方式: 1 只读。语言资源呈现现到界面中,以只读的方式,用户不可修改。或是只能由开发部门修改。 2 可修改。语言资源可以由用户定制修改。 我... 阅读全文
posted @ 2013-07-10 09:27 信息化建设 阅读(4132) 评论(4) 推荐(2) 编辑
摘要:许可证编译器 (Lc.exe) 的作用是读取包含授权信息的文本文件,并产生一个可作为资源嵌入到公用语言运行库可执行文件中的 .licenses 文件。 在使用第三方类库时,经常会看到它自带的演示程序中,包含有这样的Demo许可文件 Infragistics.Win.Misc.UltraButton, Infragistics2.Win.Misc.v11.1, Version=11.1.2011... 阅读全文
posted @ 2013-07-09 09:19 信息化建设 阅读(2949) 评论(0) 推荐(4) 编辑
摘要:做企业管理软件经常会遇到要把数据导出成EXCEL格式,目前市面上有很多工具类库可以实现此功能。CarlosAg ExcelXmlWriter是其中之一,它绿色小巧,免安装,又源码开放,我在项目中一直以这个类库来实现对EXCEL文件操作。 图形工具 Code Generator 因Excel涉及到的对象模型比较多,初步了解时,需要查找资料才能入门。为此作者设计了一个GUI程序,CarlosAg.Ex... 阅读全文
posted @ 2013-07-08 19:06 信息化建设 阅读(2900) 评论(0) 推荐(0) 编辑
摘要:如果你想去除一个程序集的强签名(strong name),目前为止可以有两个途径 1 反编译为IL代码,删除签名部分,再编译为程序集 2 应用Re-Sign程序,直接对一个程序集再签名 生成和读取强命名 先来看,如何生成.NET的签名文件,调用命令SN传入参数。 下面的代码读取该文件,FileStream keyPairFile = File.OpenRead(“key.sn”);thi... 阅读全文
posted @ 2013-07-08 09:23 信息化建设 阅读(5782) 评论(2) 推荐(5) 编辑