我创建了一堆POCO,我想创建一个持久层。事实上,我真的不在乎数据是如何存储在SQL Server中的,我只是希望它存储起来。换句话说,我想告诉ORM工具,“这是一些POCO类,保存它们。”并且不必做任何事情。是否有任何可以做到这一点的C#ORM工具?我一直在努力让Fluent NHibernate工作,而且Subsonic不支持人际关系,这使得像“为一个帖子获取所有评论”这样的事情非常困难。它需要能够自动生成数据库模式,而不必设置一堆属性和诸如此类的东西。
答案 0 :(得分:6)
你可以试试DataObjects.Net,但这并不是你想要的。首先它的实体不是poco,你必须从某些基类型继承它们。其次,您应该使用特殊属性标记要保存的字段。
那么为什么我推荐DataObjects呢?因为我认为它是完全黑盒数据库。你只需要制作一堆对象并让ORM保存它们。
答案 1 :(得分:2)
我个人使用Fluent NHibernate,它可以满足您的需求。好吧,差不多。有需要手动指定ManyToMany但你无法避免它。如果你想要好的实体设计,你必须让一些成员私有,这会禁用这些成员的自动化。尽管如此,我改变了我的设计并且从未想过我的数据库是如何改变的(这是一个新项目的奢侈品,但......)。
你看过Castle ActiveRecord吗?你真的需要真正的POCO,或者你可以使用属性和。保存实体吗?好吧,我会避免这种情况,但它可能适合你。
答案 2 :(得分:1)
结帐Subsonics SimpleRepository。创建一个类,创建一个数据库,为Subsonic提供一个连接字符串,然后处理剩下的事情。漂亮的。
答案 3 :(得分:0)
如果你不关心它的存储方式比SQL Server的存储方式?怎么样的couchDB http://couchdb.apache.org/docs/intro.html
答案 4 :(得分:0)
看看DevExpress的eXpress Persistent Objects