为了账号安全,请及时绑定邮箱和手机立即绑定

orm 疑惑

orm 疑惑

慕标5832272 2018-10-25 09:06:09
这个困惑存在好长时间了,就我现在知道的orm方面的框架有linqtosql nhibernate ado.netEF。还是那个model的问题,主要以前用的是三层结构,有一个单独的model项目,现在如果要用linq to sql 和Ado.net EF自动把model生成好了而且这个模型数据访问等方法都有了,这样UI层如果想用model,也得引用dal的项目,感觉比较混乱,但看过网上的一个例子,还真是这么做的,这个例子中ado.netEF生成的modle,用来在服务层之间传输.刚才看了nhibernate的简介,好像他可以生成自己的model,可以实现分层。 我的疑问主要是该不该在model里他加上数据访问的方法。难道orm要和三层冲突吗?
查看完整描述

3 回答

?
慕斯卡1413621

TA贡献6条经验 获得超0个赞

Bee是一种开发速度和开发成本都不比php差的Java ORM框架,

而且它的编码复杂度是O(1),即用了Bee,你可以不用另外再写dao代码。

不知.net平台,现在有没有编码那么高效的框架?

查看完整回答
反对 回复 2019-05-21
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

框架没有正确错误之分,只有是否合适之分。有人使用贫血模型(只有属性,没有方法),CRUD操作在单独的数据访问类中实现,有人使用充血模型,将CRUD放在模型内部,孰优孰劣?这是没法下定论的。我们能讨论的只能是,根据当前系统规模、业务需求等条件来判断那种设计方案更合适,而已。

如果是初学者,我建议使用贫血模型,将Model层与DAL层分离开,Model作为实体模型和数据传输对象,可以为各个层所引用。

等熟悉了各种架构,再学习如何设计复杂的领域模型。


查看完整回答
反对 回复 2018-10-30
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

Linq的这种作法个人感觉与Mvc并不冲突,如果楼主感觉不方便,可以单独再封装一层VO以实现值对象的传递,也是很容易实现的。

查看完整回答
反对 回复 2018-10-30
  • 3 回答
  • 0 关注
  • 417 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信