我在我的ASP.NET MVC應用程序中使用Fluent NHibernate
來檢索數據並將其保存到Postgresql
數據庫。具有多個允許值類型的數據庫字段
說你有持有
Fields {Name, DataType, Value}
//Model
public class Table {
public virtual string Name { get; set;}
public virtual string DataType { get; set;}
public virtual string Value { get; set;}
}
一個表,所以一個典型的記錄可能是:
Record { "Firstname", "Varchar", "Bob" }
Record { "DateOfBirth", "Timestamp", "2003-04-12 04:05:06" }
因此,爲了使這樣工作,值需要Varchar
類型。
有沒有更好的方法來做到這一點?我不喜歡Value
是string
/Varchar
。
我寧願值類型是object
什麼的。我已經嘗試過,但從Fluent NHibernate
得到Exception
。
您如何從DDD的角度來解決這個問題?
我不知道postgresql,但我在過去成功的MSSQL中使用了這個確切的策略。 SQL沒有給你一個「對象」數據類型來處理,所以我發現的下一個最好的東西是一個varchar列中的序列化對象,第二列存儲數據類型。也許別人會有更好的解決方案。 – 2015-03-08 23:19:53