1
我必須通過NHibernate訪問一組存儲過程。流利的NHibernate映射一個存儲過程,返回一組動態的列
其中一個存儲過程返回一個結果,但根據傳入的參數返回的列是不同的。
例如,如果我傳遞的日期2014年1月1日和2015年1月1日我如果我通過在不同的日期範圍內的存儲過程可能會返回不同組列例如可能得到的結果
列1,列2,欄3
然而
列1,列2,欄3,column4,column5,column6
我怎麼能這樣映射到實體?
是否有可能以某種方式映射所有列可能會回來,然後只是設置屬性爲空如果列不從存儲過程回來?
public class ModelMap : ClassMap<Model>
{
public ModelMap()
{
this.ReadOnly();
this.Id(x => x.Date);
this.Map(x => x.Column1)
this.Map(x => x.Column2)
this.Map(x => x.Column3)
this.Map(x => x.Column4)
this.Map(x => x.Column5)
this.Map(x => x.Column6)
}
}
關於如何讓這種類型的存儲過程映射到實體的任何想法?
手動變換的結果在看看:http://stackoverflow.com/questions/16415877/fluent -nhibernate-to-query-stored-procedure-without-hbm-xml-mapping – Jedediah 2014-12-03 15:28:56
是的,這是我所做的,但在我的'MyDomainObject'.AddEntity(typeof(MyDomainObject))的一些屬性是不是從存儲過程返回,有時它們完全取決於傳入的參數。因此,當存儲過程不返回它時會中斷它。 – 2014-12-03 15:41:39
也許嘗試:Map(x => x.Column1).Nullable(); – Jedediah 2014-12-03 16:46:41