DataBase => O/R mapping Class => UI 解决方案(.NET/CS/WinForm/Linq)

本文介绍如何利用Linq2Sql实现快速应用开发,通过自动化的界面生成减轻重复工作负担,特别适用于中小型项目的快速搭建。
部署运行你感兴趣的模型镜像
继续搬家4年半前的msn space上的内容。
8/31/2008 1:37:38 AM

注:由于基于Linq,对于性能要求很高的项目或模块不一定适合本方案。对于复杂查询要求较高的情况,本方案也不一定适用。本方案主要针对中小型项目,普通信息维护管理系统。

从数据库,到数据访问层,再到界面。一层层的搭,大量的重复劳动。耐心再好的人也会厌倦吧?

比如一个叫做Employee表,EmpID,Name,OnBoardDate,Birthday,Manager,Title等字段,那么,最简单的,要做 新增/修改/删除/查询 4个功能,不一定要ORM,也不一定要数据访问层独立出来,但最麻烦的应该就是画界面了,当然,还有输入数据合法性检查等等。设想一下,表结构设计+表创建,30分钟;增删改查 功能函数,30+10+20+60=120分钟,界面算上调整和格式检查得要1天吧。以上时间算上了基本的测试时间。按平均速度算,应该算是不宽裕了(不排除0.5天或者2天才能搞定的)。

现在,微软随C# 3.0和Visual Stuido 2008一同发布了Linq,其中的Linq2Sql是一套轻量级的Linq解决方案,在数据库设计完成后,即可通过拖拽的方式得到一套ORM类。同时,还包含延时加载机制,就数据查询来说,是通过Reader对象,所以效率来说不会比DataTable/DataSet低。其他特点不再多说,网上满地的介绍。我看中的,在于对于数据库设计信息,完全的包含到了类中。这就为根据这些信息,自动生成界面成为可能。

看一下例子,还是上面描述的员工表:

image

在Linq2Sql的设计器中,加上 经理->EmpID 的关联关系。ORM这层就算完成了,之后,如果作为基础数据,可以使用已经封装好了frmMaintenance类。如下:

frmMaintenance f = new frmMaintenance("Empolyee", null, typeof(Employee), true, true, null, null, null, null, null, null, null);

为null的参数中包括格式验证/权限验证可用的托管,额外的查询条件限制等。运行效果如图:

image

当然,字段也许还需要修饰一下,为了看出效果,将字段显示为中文,通过提供的配置工具,可以为ORM对象设置默认的字段信息,

image

还为外键/明细档等提供了额外的属性甚至可以设定外键显示的字段以及配置信息的嵌套功能。最终可以把这些配置序列化保存,作为默认配置。当然也可以为某些控件做个性化设置。

image image

如果要做查询的,可以直接拖一个封装好的Query控件:

image

以及3句代码执行以下绑定设置:

querier1.DataContext = new DataClasses1DataContext();
querier1.MappingTable = typeof(Employee);
querier1.DataBind();

看一下执行效果:

image

可以根据各个字段填入条件,做符合查询。于是,最简单的增删改查,在数据库设计完毕后,仅需要5分钟和4句代码就可以搞定了。当然,还包括一些复杂功能,如数据权限处理,在查询条件上再附加条件,等等,或者希望在更复杂的界面中,集成编辑功能,等,都留有对应的控件和接口。

下面是一个,使用本框架搭出的一个小程序的2个界面:

image image

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

【EI复现】基于主从博弈的新型城镇配电系统产消者竞价策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于主从博弈理论的新型城镇配电系统中产消者竞价策略的研究,结合IEEE33节点系统,利用Matlab进行仿真代码实现。该研究聚焦于电力市场环境下产消者(既生产又消费电能的主体)之间的博弈行为建模,通过构建主从博弈模型优化竞价策略,提升配电系统运行效率与经济性。文中详细阐述了模型构建思路、优化算法设计及Matlab代码实现过程,旨在复现高水平期刊(EI收录)研究成果,适用于电力系统优化、能源互联网及需求响应等领域。; 适合人群:具备电力系统基础知识和一定Matlab编程能力的研究生、科研人员及从事能源系统优化工作的工程技术人员;尤其适合致力于电力市场博弈、分布式能源调度等方向的研究者。; 使用场景及目标:① 掌握主从博弈在电力系统产消者竞价中的建模方法;② 学习Matlab在电力系统优化仿真中的实际应用技巧;③ 复现EI级别论文成果,支撑学术研究或项目开发;④ 深入理解配电系统中分布式能源参与市场交易的决策机制。; 阅读建议:建议读者结合IEEE33节点标准系统数据,逐步调试Matlab代码,理解博弈模型的变量设置、目标函数构建与求解流程;同时可扩展研究不同市场机制或引入不确定性因素以增强模型实用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值