我正在考虑从流利的nhibernate切换到亚音速,因为nhib似乎有一个MASSIVE内存占用,我真的不喜欢,但我只想检查亚音速(可能是简单的存储库)应该如何应对:< / p>
向数据库添加额外字段:目前我可以将字典值映射到数据库中非常酷的字段,这在亚音速下是否可行? (或类似的东西?)
FWIW:DynamicComponent(x =&gt; x.PropertyBag,GetDynamicComponentPart);其中propertybag是一个字典。
多对多关系
答案 0 :(得分:2)
* adding extra fields to a database: at the moment I can map a
字典值到一个字段中 这个非常酷的数据库 可能在亚音速? (或任何东西 相似?)
FWIW: DynamicComponent(x => x.PropertyBag,
GetDynamicComponentPart);哪里 propertybag是一个字典。
添加字段非常简单。只需将该字段添加到表中,然后从T4模板重新生成类。
但是,除了基本的原始类型之外,你不会获得任何映射。当然不是字段中的字典。
* many to many relationships
您必须对T4模板进行自定义修改才能获得对多对多表的任何形式的支持。 SubSonic就像对待任何其他桌子一样对待它们。
我做了这些修改,但它们的用处有限。
* cascading saves/deletes
仅在RDBMS方面。也就是说,如果您使用级联设置外键关系。 SubSonic不做任何此事。
* mapping a complex object to an xml or varchar(max) column (seralize
显然是xml)
不。你得不到这样的支持。没有可扩展性钩子来插入您自己的类型转换器。
SubSonic与NHibernate完全不同。我会称NHIB为ORM,但我不会称之为SubSonic。 SubSonic的作者Rob Conery将其称为查询工具。
这是非常简单化的,这是它的目标和力量(以及弱点)。它以强类型的方式帮助查询和修改。与NHib甚至实体框架相比,它缺乏大量的功能和可配置性/可扩展性。
我会警告不要从NHib转移到SS,特别是如果你已经在NHibernate中实现了任何功能。并不是说SS是一个糟糕的工具,但它有很多限制。