[英]Fluent NHibernate mapping to Oracle 11G and SQLite
在數據庫中已經存在的表上,我們嘗試為CreationDate添加一列
mapping.Map(x => x.CreationDate)
.Not.Nullable()
.Default("to_date('01-01-0001','dd-MM-yyyy')")
這在oracle上運行良好,但SQLite無法理解,這是很正常的,因為它不知道to_date()函數。
如果我用
DateTime.MinValue.ToString()
帶有或不帶有特定格式的默認值。 然后它將在SQLite中工作,但在Oracle中將不工作。
有人知道解決方案嗎?
省略默認值並編寫約定
class CreationDateConvention : IPropertyConvention
{
public CreationDateConvention(string default)
{
_default = default;
}
public void Apply(... instance)
{
if (instance.Name == "CreationDate")
instance.Default(_default)
}
}
// and while configuring
...FluentMappings.AddFromAssemblyOf<>().Conventions.Add(new CreationDateConvention(isOracle ? "to_date..." : Datetime.Minvalue.ToString())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.