一直对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 只包含少许字段

View Code

 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 代码:

View Code

 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显示,前台代码实现

View Code

转载于:https://www.cnblogs.com/MR520/archive/2012/03/02/2377347.html

LightSpeed ORM .NET简单运用相关推荐

  1. .net平台性能很不错的轻型ORM类Dapper(转)

    .net平台性能很不错的轻型ORM类Dapper Posted By : 蓝狐 Updated On : 2016-04-22 23:16 dapper只有一个代码文件,完全开源,你可以放在项目里的任 ...

  2. PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)

    我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...

  3. python cs开发框架_我的第一个python web开发框架(24)——系统重构与ORM

    小白弄完代码版本管理和接口文档后,兴奋的找到老菜. 小白:老大,我已经按你讲的要求,将代码版本管理和接口文档都搞好了.从项目开始到现在,除了代码编写,感觉学会好多东西啊. 老菜:嗯嗯,实战确实需要掌握 ...

  4. SqlSugar ORM 入门到精通【一】入门篇

    背景 SqlSugar是一款国产ORM,除了拥有媲美原生的性能 另外还有满足各种需求的功能,简单好用一分钟就能够轻松上手. 2.x版本正式在自已公司内部项目使用 3.x版本得到了更多公司的喜欢不过也会 ...

  5. ORM框架之------Dapper,Net下无敌的ORM

    一,介绍:Dapper是一款轻量级ORM工具.如果你在小的项目中,使用Entity Framework.NHibernate 来处理大数据访问及关系映射,未免有点杀鸡用牛刀.你又觉得ORM省时省力,这 ...

  6. Grove——.NET中的ORM实现

    转载于 http://www.microsoft.com/china/MSDN/library/netFramework/netframework/Grove.mspx?mfr=true ORM的全称 ...

  7. java orm框架什么意思_ORM框架是什么

    ORM框架是什么 对象关系映射,目前数据库是关系型数据库  ORM 主要是把数据库中的关系数据映射称为程序中的对象 目前集中常见的ORM框架 1  Nhibernate 原因:用的比较多,资料也比较好 ...

  8. 12月15日学习内容整理:ORM中的queryset类型,中介模型,extra函数和分组补充

    一.queryset类型:只和ORM有关 1.切片 支持索引切片,但不支持负数索引(不能用-1代表最后一个元素) 2.是可迭代的 3.属于惰性查询 我们构建出一个queryset类型,比如obj=Bo ...

  9. [.Net]轻量ORM——Dapper

    Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技术含量低的工作,还 ...

  10. dapper mysql通用类_Dapper ORM 用法

    假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载 Dapper的优势: 1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编 ...

最新文章

  1. 六、MyBatis教程之六注解使用详解
  2. CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
  3. 在多个游戏视图间切换环境准备
  4. Eclipse报错:gc overhead limit exceeded eclipse
  5. ant design 分页中文字_给你代码:ant-desgin-vue使用
  6. 我目前的主要研究方向
  7. 第 2-3 课:抽象类和接口 + 面试题
  8. cart算法_【统计学】决策树模型大比拼!ID3/C4.5/CART算法哪个更好用?
  9. “虚拟化 ”和“云计算”计算机技术新概念
  10. 判断触摸的点在那个 View上
  11. 新中大财务软件银色快车问题合集汇总 您遇到的问题基本都可以解决 SE
  12. 如何在Mac OS上从Photoshop 2020作为插件访问Topaz DeNoise AI?
  13. 富爸爸穷爸爸读书感言
  14. 第八届ACM趣味编程循环赛重现赛(部分题目)
  15. wifi开启位置服务器,如何设置wifi定位服务器地址
  16. 2021CSDN粉丝年度严选文章TOP10榜单出炉~浅看超人气盘点
  17. linux报错Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile解决方法
  18. 计算机图形学——二维卡通人物交互设计
  19. Steam教育在新时代中综合学习论
  20. js中some和every用法

热门文章

  1. show processlist中kill锁表语句与慢sql
  2. Redis系列-Redis笔记(一)
  3. 小议jQuery插件开发
  4. SVN客户端日志无法显示的解决
  5. JavaScript删除数组里的某个元素
  6. unity脚本生命流程
  7. Linux下idea 配置Android SDK
  8. rel=nofollow属性--seo
  9. CSDN博客搬家到WordPress
  10. web.config中特殊字符的处理