Nhibernate:如何在没有类和映射的情况下使用drop table?

时间:2013-02-06 17:08:23

标签: nhibernate

我是NHibernate的新手,数据库和SimpleMembership所以请光临我。

我正在使用ASP.NET的SimpleMembership,它使用我通过Nhibernate创建的User表。 SimpleMembership自动创建具有User表的外键的Membership和Roles表(没有Nhibernate)(即:Membership和Roles具有属于我的User表的外键)。我没有这些成员角色表的类或映射。

在我的nunit测试项目中,我正在我的设置中创建这些表格,但是我无法通过以下实现删除所有表格。

  

var se = new SchemaExport(_configuration); se.Drop(true,true);

Drop()无法删除User表,因为Membership和Roles表依赖于User表。我很确定在尝试删除User表之前我必须删除此Membership和Roles表。 如何在不为其创建类和映射的情况下手动删除成员角色表?

1 个答案:

答案 0 :(得分:0)

我个人只是用session.Delete("from Object");删除所有数据,但您可以添加其他表来放入配置:

config.CreateMappings(Dialect.GetDialect(config.Properties))
    .AddTable(catalog, schema, tablename, null, false, "drop");

可能必须先在所有其他映射之前添加表