SubSonic“保存”改进建议

时间:2010-07-02 20:17:16

标签: c# subsonic subsonic3 subsonic-active-record

[我们正在使用ActiveRecord。]

在运行Sql Server Profiler时,我们注意到一个简单的“保存”之前有一些很好的数据库活动。我们发现SubSonic核心遍历所有属性,并在实际执行保存之前将其值保存在字典中。

我们通常在包含一些需要数据库活动的属性的部分类中“扩展”我们的数据对象。这是额外活动正在发生的地方,而且据我们所知,这是不必要的。

我们更改了脚本从每个数据库列创建属性的位置,以便它现在使用[LocalData]装饰这些属性。然后,如果缺少此属性,我们更改了核心(Extensions.Objects.ToDictionary)以跳过GetValue。

在一个包含大量保存类型数据库活动的测试中,我们看到经过的时间从21秒减少到2秒,数据库活动减少了大约三分之二。

这有两个问题:1)是否有我们错过的功能会使我们的更改变得不必要; 2)如果没有,您是否知道其他一些与ToDictionary相关的流程现在会破坏?

谢谢!

1 个答案:

答案 0 :(得分:0)

[SubSonicIgnore]属性是否实现了相同的目标?

相关问题