NHibernate:初始数据人口

时间:2009-08-26 04:56:03

标签: nhibernate

我使用NHibernate作为我的ORM,for unit testing purpose I am using sqlite作为替代数据库。

为了进行有意义的单元测试,我需要填充表格。如何在NHibernate中做到这一点?即使我的单元测试数据库是sqlite,我更喜欢允许我这样做的db独立脚本。

Nhibernate是否支持这种开箱即用?或者我不得不求助于使用NHibernate Save方法进行插入?

P / S:部分ORM或其他语言的框架(例如Symfony中的PHP),supports this via yml

3 个答案:

答案 0 :(得分:1)

AFAIK NHib没有为您提供批量导入选项...您需要以某种方式创建一些实体,然后在它们上调用ISession.Save。如果沿着这条路走下去,我建议您考虑Test Data Builder pattern

您可以将某些对象序列化为XML,然后您需要反序列化并保存以设置数据,但我怀疑XML维护是否繁琐。

答案 1 :(得分:1)

看看Stephen Bohlen撰写的this blog post by ScotMucAutumn of Agile系列。这些应该指向正确的方向

答案 2 :(得分:0)

我不知道有任何工具可以帮到你,但它会很好。

您使用save方法的想法应该有效,并且它将与您的应用程序的其余部分一样独立于数据库。

我有一个控制台应用程序,它几乎可以做到这一点,因此我可以将初始数据加载到数据库中,以便我的主应用程序正常运行。