将规范模式序列化为数据库

时间:2012-04-26 15:12:03

标签: c# specification-pattern

好的,我们必须计算非常复杂的保险登记数据的资格和费率。可根据年龄,就业特征,鞋码等提供政策。1962年以前出生的人可能被排除在外,除非他们住在德克萨斯州并且有狮子狗等。

因此我们可以构建实现规范模式的类。我们可以嵌套和规格,或规格等。这很好。但是现在我们如何将其序列化到数据库?

我们可以将c#类转储到xml并保留它。但这很脆弱,但几乎不可能查询。将类序列化为xml并将其转储到大文本字段中具有明确的代码味道。

对于如何将嵌套规范放入数据库,是否有规范的答案?我的Google-fu让我失望。

2 个答案:

答案 0 :(得分:1)

规范化,它可能是许多项目的祸根。

一般来说,我选择了一种实用的方法,即为可以查询(并因此编入索引)的任何内容提供单独的列,并将所有其他列以序列化形式转储到blob中。

如果这不适合您,则必须通过创建不适用于所有行的列来为表引入冗余。

我还没有遇到过这种问题的一刀切方法。

答案 1 :(得分:1)

使用反射,只需要一个完全限定名称即可获得持有的所有内容。所以,将THAT存储在数据库中。