社区
C#
帖子详情
ORM框架选型问题
连风
2011-06-24 05:58:09
我现在的需求是,使用C/S模式进行开发,我想把ORM这块放到客户端执行,但是客户端不能够通过Connection连接数据库,而需要通过一个数据服务连接数据库。
请问,有没有一种ORM框架能够满足我的需求呢?
...全文
523
39
打赏
收藏
ORM框架选型问题
我现在的需求是,使用C/S模式进行开发,我想把ORM这块放到客户端执行,但是客户端不能够通过Connection连接数据库,而需要通过一个数据服务连接数据库。 请问,有没有一种ORM框架能够满足我的需求呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
39 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
不老神仙
2011-10-19
打赏
举报
回复
学习 关注
连风
2011-06-30
打赏
举报
回复
非常感谢大家的帮忙,结贴了!
连风
2011-06-27
打赏
举报
回复
回复:JonnySun
关于Winform开发框架桥接功能
http://www.csframework.com/archive/5/arc-5-20110615-1601.htm
桥接功能是建立客户端与服务端的通道(Chennel)
http://www.csframework.com/cs-framework-3.0.htm
后台数据更新流程(DataTable,DataSet)
http://www.csframework.com/archive/4/arc-4-20110401-1274.htm
ORM+SqlClient组件数据更新模型
http://www.csframework.com/archive/4/arc-4-20110401-1275.htm
希望对你有所帮助。
谢谢!
连风
2011-06-27
打赏
举报
回复
回复:JonnySun
》》》
说几句:
ORM是指对象关系映射模型,很多人喜欢称为实体类,这是一个完全独立的且底层的东西,几乎没有业务方法,当然没有CRUD功能。
通常的作法是:ORM实例化为对象后用于存储缓存的数据,比如一个字典数据,一张业务单据。提交数据是通过BLL->DAL->DB这个流程的,NHibernate或其它持久层架构只是负责将ORM的实例对象的数据通过SqlOleDb或其它DataProvider存储到数据库服务器的,NHibernate的思路是通过ORM的XML定义生动生成SQL, 然后枚举ILIst 对象生成一条条对应的SQL语句, 整个更新流程由一个事务完成。
我现在的问题是,没办法使用SqlOleDb,所以无法完成存储!
那我有没有可能自己做DataProvider呢?就是通过网络,自己实现呢?
连风
2011-06-27
打赏
举报
回复
[Quote=引用 22 楼 moneysoft 的回复:]
引用 21 楼 dqdan 的回复:
或者是在说接口颗粒度的问题吗?
这个想法还有点靠谱,楼主的问题貌似和orm没关系,
如果这些服务你们不能重构,
那么你们可以弄一个隔离层,你管他多少个接口,抽象出不超过20个新的服务类型,
客户端的代码可以大大减少,
这就是基本的面向对象设计:统一描述和分层
[/Quote]
非常感谢你的回复。
那么假设我现在已经将业务逻辑归类了,那么如果这些服务的实现,我想放到客户端执行,那么有没有成熟的orm框架可以使用呢?
flyerwing
2011-06-27
打赏
举报
回复
[Quote=引用 17 楼 dqdan 的回复:]
引用 15 楼 flyerwing 的回复:
肯定需要配置了.
一配置就好了,用过JSPSSH那几个框架的就很熟悉.
我的问题是,我需要在客户端运行ORM,但是,我不能保证客户端能够直接连接到数据库服务器,所以我不能使用配置数据库连接字符串的方式!
[/Quote]
是内外网网闸交换数据???那好象不能使用ORM.
JonnySun
2011-06-27
打赏
举报
回复
可能是我说的不太明白,我希望使用一种成熟的ORM框架,通常ORM框架都提供了基本业务逻辑功能,例如:通用的增删改查,事物等等,这样的话,ORM框架不就和Connection有关系了吗?
》》》
说几句:
ORM是指对象关系映射模型,很多人喜欢称为实体类,这是一个完全独立的且底层的东西,几乎没有业务方法,当然没有CRUD功能。
通常的作法是:ORM实例化为对象后用于存储缓存的数据,比如一个字典数据,一张业务单据。提交数据是通过BLL->DAL->DB这个流程的,NHibernate或其它持久层架构只是负责将ORM的实例对象的数据通过SqlOleDb或其它DataProvider存储到数据库服务器的,NHibernate的思路是通过ORM的XML定义生动生成SQL, 然后枚举ILIst 对象生成一条条对应的SQL语句, 整个更新流程由一个事务完成。
你的问题,根本原因是没有处理好分层,如果BLL, DAL是分离的,或者是分模块的,那么,不管改装为WebService或者 .Net Remoting, 或者Tcp/Ip, UDP 都不是问题, 你只需要在BLL与DAL之间增加一个中间层。
关于中间层,这里有份资料参考:
关于Winform开发框架桥接功能
http://www.csframework.com/archive/5/arc-5-20110615-1601.htm
桥接功能是建立客户端与服务端的通道(Chennel)
http://www.csframework.com/cs-framework-3.0.htm
----------------------------------------------------------------------------------------
》》》16楼:
你是想不去预先对服务进行业务分析,然后推卸给前端开发人员在“开发”时各自去搞数据库?这种软件作坊开发方法做不了你所说的100多个服务那样的系统的。
>>>>你的回答脱离群众了,他需要人提供思路去解决问题而不是训斥。
-------------------
这个问题不是简单的ORM与CRUD, 架构级别了。
这里有几篇小文章去参考下:
后台数据更新流程(DataTable,DataSet)
http://www.csframework.com/archive/4/arc-4-20110401-1274.htm
ORM+SqlClient组件数据更新模型
http://www.csframework.com/archive/4/arc-4-20110401-1275.htm
希望对你有所帮助。
--缪军--
2011-06-27
打赏
举报
回复
[Quote=引用 21 楼 dqdan 的回复:]
或者是在说接口颗粒度的问题吗?
[/Quote]
这个想法还有点靠谱,楼主的问题貌似和orm没关系,
如果这些服务你们不能重构,
那么你们可以弄一个隔离层,你管他多少个接口,抽象出不超过20个新的服务类型,
客户端的代码可以大大减少,
这就是基本的面向对象设计:统一描述和分层
连风
2011-06-27
打赏
举报
回复
或者是在说接口颗粒度的问题吗?
连风
2011-06-27
打赏
举报
回复
[Quote=引用 19 楼 sp1234 的回复:]
业务服务是根本。在动手开发之前,该不该做这个系统、用户要不要你的系统,你对业务服务的分析是否到位是个关键。看起来你没有耐心去设计规划系统,这是个问题。
[/Quote]
你的意思是说,我提到的那些100多个业务逻辑接口有问题吗?或许是这样做有问题吗?请指教!
以专业开发人员为伍
2011-06-27
打赏
举报
回复
业务服务是根本。在动手开发之前,该不该做这个系统、用户要不要你的系统,你对业务服务的分析是否到位是个关键。看起来你没有耐心去设计规划系统,这是个问题。
连风
2011-06-27
打赏
举报
回复
[Quote=引用 16 楼 sp1234 的回复:]
你是想不去预先对服务进行业务分析,然后推卸给前端开发人员在“开发”时各自去搞数据库?这种软件作坊开发方法做不了你所说的100多个服务那样的系统的。
[/Quote]
汗,这么上纲上线的!我没有表达过此类意思吧!
我的想法是,我现在已经有了100多个业务逻辑接口,但是这些接口如果以服务的方式发布,那么服务就太多了,或者说,服务中的方法就太多了,所以我想把业务逻辑接口的实现放在客户端中(系统为C/S模型,客户端无法直接连接到数据库)。
但是这样做的话,我还没有找到一个合适的ORM框架可以使用。
连风
2011-06-27
打赏
举报
回复
[Quote=引用 15 楼 flyerwing 的回复:]
肯定需要配置了.
一配置就好了,用过JSPSSH那几个框架的就很熟悉.
[/Quote]
我的问题是,我需要在客户端运行ORM,但是,我不能保证客户端能够直接连接到数据库服务器,所以我不能使用配置数据库连接字符串的方式!
以专业开发人员为伍
2011-06-27
打赏
举报
回复
你是想不去预先对服务进行业务分析,然后推卸给前端开发人员在“开发”时各自去搞数据库?这种软件作坊开发方法做不了你所说的100多个服务那样的系统的。
flyerwing
2011-06-27
打赏
举报
回复
肯定需要配置了.
一配置就好了,用过JSPSSH那几个框架的就很熟悉.
连风
2011-06-27
打赏
举报
回复
[Quote=引用 13 楼 flyerwing 的回复:]
hibernate,
entity frame,
ibatis,
.........
[/Quote]
我看了看,好像都需要配置数据库连接字符串啊!
flyerwing
2011-06-27
打赏
举报
回复
hibernate,
entity frame,
ibatis,
.........
连风
2011-06-27
打赏
举报
回复
PS:这儿不讨论什么是ORM。。。
连风
2011-06-27
打赏
举报
回复
[Quote=引用 10 楼 flyerwing 的回复:]
引用 1 楼 caozhy 的回复:
没有。
ORM 和 Connection 无关。
事实上你应该封装成 Web Service,你可以在服务器上用 ORM。也可以不用。
总之和客户端无关,ORM也没有封装连接的功能。
是地.楼猪概念先搞清
[/Quote]
可能是我说的不太明白,我希望使用一种成熟的ORM框架,通常ORM框架都提供了基本业务逻辑功能,例如:通用的增删改查,事物等等,这样的话,ORM框架不就和Connection有关系了吗?
flyerwing
2011-06-27
打赏
举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
没有。
ORM 和 Connection 无关。
事实上你应该封装成 Web Service,你可以在服务器上用 ORM。也可以不用。
总之和客户端无关,ORM也没有封装连接的功能。
[/Quote]
是地.楼猪概念先搞清
加载更多回复(18)
AdminLTE-admin 轻量级权限管理
框架
.rar
使用Mybatis集成Mybatis plus作为
ORM
框架
。 使用redis、Ehcache实现权限缓存。 使用thymeleaf模板,实现页面拆分,封装公共部分。 整合本地存储、七牛云实现文件oss存储。 前端项目地址:...
基于springboot+mintUI旅游商城
ORM
框架
:MyBatis 物理分页插件:PageHelper 模板引擎:Thymeleaf 项目构建管理:Maven #### 前端技术: 项目构建脚手架:vue-cli 前段
框架
:vue 桌面端ui:elementui 移动端ui:vant 可视化界面:echarts
Spring Data jpa
JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范 JPA的出现主要是为了简化持久层开发以及整合
ORM
技术,结束Hibernate、TopLink、JDO等
ORM
框架
各自为营的局面。JPA是在吸收...
基于Spring4和Struts2的简单Shiro项目设计源码
本资源提供了一套基于Spring4和Struts2的简单Shiro项目设计源码。该项目包含了11个XML配置文件、9个Java源文件、4个JSP文件、1个LICENSE文件、1...技术
选型
为Spring4、Struts2和MyBatis,
ORM
框架
可以更换为Hibernate。
大学生毕设+基于SpringBoot和Vue、MyBatis带GUI界面+云音乐管理系统(前后端源码+数据库+环境搭建步骤)
| MyBatis| 3.5.0|
ORM
框架
| | MyBatisPlus| 3.1.0| 基于mybatis,使用lambda表达式的 | | Swagger-UI | 2.9.2| 文档生产工具| | Hibernator-Validator | 6.0.17 | 验证
框架
| | redisson | 3.10.6 | 对redis进行...
C#
110,566
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章