我正在将NHibernate用于我的应用程序的DAL,并且在特定的NHibernate的SchemaExport函数中,在执行单元测试之前删除/重新创建我的数据库模式.我遇到的问题是,当我运行单元测试并执行SchemaExport时,我的一个表无法每秒都丢失.这将向我表明存在某种外键问题阻止SchemaExport放弃我的表 - 但我无法弄明白.我的架构非常简单 - 人员表,地址表和PersonAddress表,以支持两者之间的多对多关系.
public class Person
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IList<Address> Addresses {get;set;}
public Person()
{
this.Addresses = new List<Address>();
}
}
public class Address
{
public virtual int Id { get; set; }
public virtual string Street1 { get; set; }
public virtual string Street2 { get; set; }
public virtual string Postcode { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和我的NHibernate映射文件......
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="MyHibernate" …Run Code Online (Sandbox Code Playgroud)