我使用的是Compact Framework3.5,暂时决定使用Subsonic 3.0的自定义版本来进行数据访问。问题是,我习惯于开发模型优先,但也对保持对我的DB模式的控制感兴趣。因此,无论是ActiveRecord还是Repository似乎都不能满足我的需求,我希望使用现有的POCO模型并将其映射到现有的表。我习惯于通过NHibernate和实体框架来做这件事。
经过一些调查,我似乎可以编写一个自定义QueryMapping来提供我想要的自定义映射。然而,在我开始这条道路之前,我希望看到一些这样做的例子。我似乎在网上找不到,我想知道是否有人可以提供关于Subsonic,model-first和自定义的Table-per-Type和Table-per-Hierarchy映射的经验。
发布于 2011-03-31 09:57:44
从SubSonic 3.0.x开始:
如果您想使用POCOs,那么您非常需要存储库--特别是SimpleRepository。SubSonic仅支持每个类型的表模型。SubSonic不支持继承。如果你想要它,你必须对它进行编码;然而,如果你有动力去接受它,这是不可能实现的。
但是,SimpleRepository确实提供了对模式的大量控制--甚至在使用(自动)迁移时也是如此(我发现POCO-first很容易上瘾)。请务必查看项目站点上的优秀文档,特别是http://www.subsonicproject.com/docs/Using_SimpleRepository。注意属性的用法。新属性很容易创建并集成到自定义存储库服务类中。
也许SubSonic的SimpleRepository最好的一点是:它非常容易扩展。我们的团队对其进行了相当大的扩展(例如,添加了对急切加载的支持),总的来说,我们都发现这是一件非常愉快的事情。它有一个非常令人愉快的设计,它是快速的,轻量级的,并且不会引起人们的注意。
最棒的是,SimpleRepository +迁移鼓励合理的模式设计。如果您发现自己正在与SubSonic作斗争,那么您需要检查一下自己;更有可能的是,您正在将自己的船引向杂草。
如果您需要更强大的数据库版本控制功能,可以将其与migrator.net结合使用,轻松取胜。
祝你好运,欢迎来到SubSonic!
https://stackoverflow.com/questions/1895699
复制相似问题