我有以下代码来创建一个内存中的SQLite数据库来进行测试:的SQLite数据库产生不可为空列
Configuration config = null;
FluentConfiguration fluentConfiguration = Fluently.Configure().Database(SQLiteConfiguration.Standard.InMemory().ShowSql()
).Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<ReturnSourceMap>();
m.HbmMappings.AddFromAssemblyOf<ReturnSourceMap>();
m.FluentMappings.AddFromAssemblyOf<EchoTransaction>();
}).ExposeConfiguration(c => config = c);
ISessionFactory sessionFactory = fluentConfiguration.BuildSessionFactory();
_session = sessionFactory.OpenSession();
new SchemaExport(config).Execute(true, true, false, _session.Connection, Console.Out);
这似乎很好地工作对于大多数事情,但不幸的是它将所有列创建为不可为空。
比如我有两个类:
InternalFund
和ExternalFund
。两者都从Fund
继承,并且都坚持到同一个表。
ExternalFund
有一列Manager_ID
,InternalFund
没有。不幸的是,这意味着我不能坚持InternalFund
,因为它会抛出一个SQL异常。
我不需要我的测试的参照完整性,所以如果我可以使所有列都可以为空,我会很高兴。
有谁知道如何做到这一点?
感谢
斯图