这个ORM有啥问题吗? [关闭]
Posted
技术标签:
【中文标题】这个ORM有啥问题吗? [关闭]【英文标题】:Is there anything wrong with this ORM? [closed]这个ORM有什么问题吗? [关闭] 【发布时间】:2010-01-29 16:45:47 【问题描述】:大约一个月前(圣诞节后),我找到了this post,并意识到反思是多么有用。所以我决定学习并得意忘形,花了大约 10 天的时间,这成为了 sql(ite) 的 ORM。
我的问题是,使用这个 ORM 有什么问题吗?我以前从未使用过 ORM,我听说你不应该自己写一个。除了与其他人相比可能缺乏功能外,我看不出我有什么问题。那么这个 ORM 有什么问题呢? (以下链接)
我的想法是我应该正常编写类,尽可能避免使用属性标记字段并且插入非常容易。我虽然更新逻辑可能太复杂了,用户真的应该编写查询而不是假设、弄错或玩如何标记类的游戏。所以没有这些,只是简单的插入和填充你自己的查询,如果它微不足道的话。两周前我为我的朋友写了一个教程。它似乎可以编译和运行,所以由此判断我的 ORM 有什么问题?
http://codepaste.net/29xkubhttp://codepaste.net/qnrira
我也不想继续这个并让它成长。到目前为止,我在 3 个项目中使用了它并且没有任何问题,但是还有另一个 ORM 可以做到这一点吗?外键是必须的,而 ATM 我没有实现这个仅仅是因为我在等待 http://sqlite.phxsoftware.com/ 更新到 3.6.19+
【问题讨论】:
您可以在自定义构建的 ORM 上投入数百小时,但您仍然可能赶不上 NHibernate。享受它作为一种爱好,但尽量不要太认真。构建自定义 ORM 是一种很好的教育体验。 我不明白为什么这个问题被关闭了。有人可以填我吗? @Dathan:太糟糕了。我不会学习 ORM,因为它可以处理我需要 ATM 的一切。所以我想我暂时不会学习真正的 ORM 可以做什么或这方面的不足之处(直到我学习另一个或让自己陷入困境) @Michael Maddox:学习反射而不是学习 ORM 的工作原理。除非我做外键而不学习真正的 ORM,否则它就完成了。我的部分问题是 ORM 可以做什么,因为我确信像我这样的东西存在并且更好。 【参考方案1】:不自己编写一个的唯一原因与您使用 .net 框架的原因类似 - 它已经完成,可能在许多项目中被用于愤怒,并且可能处理了您没有想到的任何边缘情况的……
【讨论】:
问题是我对 ORM 一无所知。我知道我不应该编写库,因为它会增长,因此我不想写并询问我的示例可以做什么。这似乎足够好,只有 10 天。我知道我不应该写更多,我也没有计划,但是我的例子做了什么?我看到了 NHibernate,它似乎没有做我做的事情,而且 Subsonic 似乎没有做多个插入或外键。以上是关于这个ORM有啥问题吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章