我正在使用Compact Framework 3.5并暂时确定了用于进行数据访问的Customonic 3.0的自定义构建。问题是我习惯于先开发模型,但我也对保持对数据库模式的控制感兴趣。因此,ActiveRecord或Repository似乎都不能满足我的需求,我想使用我现有的POCO模型并将其映射到我现有的表。我习惯通过NHibernate和Entity Framework来做这件事。
经过一番调查后,似乎我可以创建自定义QueryMapping来为我提供我想要的自定义映射。然而,在我开始这条道路之前,我想看到一些这样的例子。我似乎无法在网上找到任何内容,并想知道是否有人可以提供有关Subsonic,模型优先和自定义Table-per-Type和Table-per -ierarchy映射的经验的输入。
答案 0 :(得分:1)
从SubSonic 3.0.x开始:
如果你想使用POCO,你非常想要Repository - 特别是SimpleRepository。 SubSonic仅支持每个表类型的模型。 SubSonic不支持继承。如果你想要它,你将不得不编码;但是,如果你有动力去接受它,那就无法实现。
然而,SimpleRepository确实提供了对模式的相当大的控制 - 即使在使用(自动)迁移时(我发现POCO-first非常容易上瘾)。务必查看项目网站上的优秀文档,特别是http://www.subsonicproject.com/docs/Using_SimpleRepository。注意属性用法。新属性易于创建并集成到自定义存储库服务类。关于SubSonic的SimpleRepository可能是最好的事情:它很容易扩展。我们的团队已经扩展了很多(例如添加了急切加载支持),总的来说,我们都发现它非常有趣。它设计非常舒适,速度快,重量轻,不会引起人们的注意。
最重要的是,SimpleRepository + Migrations鼓励理智的架构设计。如果你发现自己在与SubSonic作战,你需要检查自己;更有可能的是,你正在驾驶你的船进入杂草。
如果您需要更多的数据库版本控制火力,请将其与migrator.net结合使用,以轻松获胜。
祝你好运,欢迎来到SubSonic!