NHibernate でクラスをマッピングしていますが、2 つの異なるデータベースで同じマップを使用しています。これは Sybase Anywhere では機能しますが、SQLite では機能しません。
これは私のマップクラスです:
public FooMap()
{
Property(x => x.Date, map =>
{
map.Column(c => c.Default("now(*)"));
map.Generated(PropertyGeneration.Insert);
map.NotNullable(true);
});
}
これはマッパーです:
public class Provider
{
public void AddMappings(ModelMapper mapper)
{
mapper.AddMappings(Assembly.GetAssembly(typeof(BaseMap)).GetExportedTypes().Where(x => x.Name.EndsWith("Map")));
}
}
SQlite には NOW 関数がないため、Hibernate がこのテーブルを作成しようとするとエラーが発生します。
データベースに応じてデフォルト値を挿入するにはどうすればよいですか?