LightSpeed ORM .NET简单运用
一直对MS 的ADO.NET DataModel使用不是很习惯,也一直改不过来,也有点疑惑
1.新建DataModel以后为相应的DomainService为什么不自动生成
2.Data Model中随着表越来越多,会影响性能,新增和刷新一张表,甚至会等待几分钟不等……
3. 原先项目中DomainService 还得手动更新,最QF的是新增DomainService,VS还不让找到 Data Model甚至会出现关闭重新打开后才能找到DataModel
最近一直找对应的.net 方面ORM 可以解决我所提到几个问题,能替代ADO.NET Data Model,在逛InfoQ时候,有一种LightSpeed
是针对.net商业化ORM(http://www.infoq.com/cn/news/2012/02/lightspeed),
官网:http://www.mindscapehq.com/
LightSpeed是一种针对.NET的商业化ORM,它拥有多种特性,像实体序列化、健壮的VS设计器、内建的LINQ支持、对DTO的支持等等。
看看官网对LightSpeed说明,基本可以替代ADO.NET Data Model,LightSpeed目前版本不支持.net 4.0 只能在3.5环境下运行。
数据库支持方面:
绝大多数库支持很完整的,不像ADO.NET DATA MODEL就支持自己产品
来个例子,多也不说了,去看官网,使用和ADO.NET DATA MODEL差不多。
例子环境:VS2010 .NET3.5 SQLSERVER2008 LightSpeedExpress
1.先建立库表Test 只包含少许字段
![](/assets/blank.gif)
![](/assets/blank.gif)
1 USE [db_Eteaching] 2 GO 3 4 /****** Object: Table [dbo].[Test] Script Date: 03/02/2012 15:37:09 ******/ 5 SET ANSI_NULLS ON 6 GO 7 8 SET QUOTED_IDENTIFIER ON 9 GO10 11 CREATE TABLE [dbo].[Test](12 [ID] [int] IDENTITY(1,1) NOT NULL,13 [UserName] [nvarchar](50) NULL,14 [Password] [nvarchar](50) NULL,15 [RealName] [nvarchar](50) NULL,16 CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED 17 (18 [ID] ASC19 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]20 ) ON [PRIMARY]21 22 GO
2.用VS连接SQL 2008,可以直接拖动表到LightSpeed中,方便操作
3.新建LightSpeedModel,命名LSModel,将表拖入模型中,LightSpeed会自动绘制实体模型,自动生成实体对象映射,
并生成LightSpeedContexts,如果是多表LightSpeed会自动显示表之间关系
以下是LightSpeed自动生成Test 代码:
![](/assets/blank.gif)
![](/assets/blank.gif)
1 using System; 2 3 using Mindscape.LightSpeed; 4 using Mindscape.LightSpeed.Validation; 5 using Mindscape.LightSpeed.Linq; 6 7 namespace LightSpeedDemo 8 { 9 [Serializable]10 [System.CodeDom.Compiler.GeneratedCode("LightSpeedModelGenerator", "1.0.0.0")]11 [System.ComponentModel.DataObject]12 public partial class Test : Entity<int>13 {14 #region Fields15 16 [ValidateLength(0, 50)]17 private string _userName;18 [ValidateLength(0, 50)]19 private string _password;20 [ValidateLength(0, 50)]21 private string _realName;22 23 #endregion24 25 #region Field attribute and view names26 27 /// <summary>Identifies the UserName entity attribute.</summary>28 public const string UserNameField = "UserName";29 /// <summary>Identifies the Password entity attribute.</summary>30 public const string PasswordField = "Password";31 /// <summary>Identifies the RealName entity attribute.</summary>32 public const string RealNameField = "RealName";33 34 35 #endregion36 37 #region Properties38 39 40 41 [System.Diagnostics.DebuggerNonUserCode]42 public string UserName43 {44 get { return Get(ref _userName, "UserName"); }45 set { Set(ref _userName, value, "UserName"); }46 }47 48 [System.Diagnostics.DebuggerNonUserCode]49 public string Password50 {51 get { return Get(ref _password, "Password"); }52 set { Set(ref _password, value, "Password"); }53 }54 55 [System.Diagnostics.DebuggerNonUserCode]56 public string RealName57 {58 get { return Get(ref _realName, "RealName"); }59 set { Set(ref _realName, value, "RealName"); }60 }61 62 #endregion63 }64 65 66 67 /// <summary>68 /// Provides a strong-typed unit of work for working with the LSModel model.69 /// </summary>70 [System.CodeDom.Compiler.GeneratedCode("LightSpeedModelGenerator", "1.0.0.0")]71 public partial class LSModelUnitOfWork : Mindscape.LightSpeed.UnitOfWork72 {73 74 public System.Linq.IQueryable<Test> Tests75 {76 get { return this.Query<Test>(); }77 }78 79 }80 81 }
LightSpeed将模型代码和查操作方法都放在一起。
4.界面显示采用Winform显示,前台代码实现
![](/assets/blank.gif)
![](/assets/blank.gif)
转载于:https://www.cnblogs.com/MR520/archive/2012/03/02/2377347.html
LightSpeed ORM .NET简单运用相关推荐
- .net平台性能很不错的轻型ORM类Dapper(转)
.net平台性能很不错的轻型ORM类Dapper Posted By : 蓝狐 Updated On : 2016-04-22 23:16 dapper只有一个代码文件,完全开源,你可以放在项目里的任 ...
- PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...
- python cs开发框架_我的第一个python web开发框架(24)——系统重构与ORM
小白弄完代码版本管理和接口文档后,兴奋的找到老菜. 小白:老大,我已经按你讲的要求,将代码版本管理和接口文档都搞好了.从项目开始到现在,除了代码编写,感觉学会好多东西啊. 老菜:嗯嗯,实战确实需要掌握 ...
- SqlSugar ORM 入门到精通【一】入门篇
背景 SqlSugar是一款国产ORM,除了拥有媲美原生的性能 另外还有满足各种需求的功能,简单好用一分钟就能够轻松上手. 2.x版本正式在自已公司内部项目使用 3.x版本得到了更多公司的喜欢不过也会 ...
- ORM框架之------Dapper,Net下无敌的ORM
一,介绍:Dapper是一款轻量级ORM工具.如果你在小的项目中,使用Entity Framework.NHibernate 来处理大数据访问及关系映射,未免有点杀鸡用牛刀.你又觉得ORM省时省力,这 ...
- Grove——.NET中的ORM实现
转载于 http://www.microsoft.com/china/MSDN/library/netFramework/netframework/Grove.mspx?mfr=true ORM的全称 ...
- java orm框架什么意思_ORM框架是什么
ORM框架是什么 对象关系映射,目前数据库是关系型数据库 ORM 主要是把数据库中的关系数据映射称为程序中的对象 目前集中常见的ORM框架 1 Nhibernate 原因:用的比较多,资料也比较好 ...
- 12月15日学习内容整理:ORM中的queryset类型,中介模型,extra函数和分组补充
一.queryset类型:只和ORM有关 1.切片 支持索引切片,但不支持负数索引(不能用-1代表最后一个元素) 2.是可迭代的 3.属于惰性查询 我们构建出一个queryset类型,比如obj=Bo ...
- [.Net]轻量ORM——Dapper
Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技术含量低的工作,还 ...
- dapper mysql通用类_Dapper ORM 用法
假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载 Dapper的优势: 1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编 ...
最新文章
- 六、MyBatis教程之六注解使用详解
- CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
- 在多个游戏视图间切换环境准备
- Eclipse报错:gc overhead limit exceeded eclipse
- ant design 分页中文字_给你代码:ant-desgin-vue使用
- 我目前的主要研究方向
- 第 2-3 课:抽象类和接口 + 面试题
- cart算法_【统计学】决策树模型大比拼!ID3/C4.5/CART算法哪个更好用?
- “虚拟化 ”和“云计算”计算机技术新概念
- 判断触摸的点在那个 View上
- 新中大财务软件银色快车问题合集汇总 您遇到的问题基本都可以解决 SE
- 如何在Mac OS上从Photoshop 2020作为插件访问Topaz DeNoise AI?
- 富爸爸穷爸爸读书感言
- 第八届ACM趣味编程循环赛重现赛(部分题目)
- wifi开启位置服务器,如何设置wifi定位服务器地址
- 2021CSDN粉丝年度严选文章TOP10榜单出炉~浅看超人气盘点
- linux报错Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile解决方法
- 计算机图形学——二维卡通人物交互设计
- Steam教育在新时代中综合学习论
- js中some和every用法