0
我有實體流利地映射到現有的Oracle觀點:
NHibernate的實體多映射
public class MyEntityMap : ClassMap<MyEntity>
{
public class MyEntityMap()
{
ReadOnly();
SchemaAction.None();
//mappings
}
}
我查詢實體Oracle視圖和過濾他們根據一定的標準,比方說,在CREATED_DATE超過14天。應將這些實體寫入數據庫以備將來使用。爲此,我創建了一個表格,它是字段中的oracle視圖的精確克隆。我想將完全相同的MyEntity映射到我自己的桌子上。類似的東西:
public class MyHistoricalEntityMap : ClassMap<MyEntity>
{
public class MyHistoricalEntityMap()
{
Table("HistoricalEntities");
//mappings
}
}
另外,我負責查詢視圖服務,但我想要添加到存儲我的歷史實體的方法,水木清華象下面這樣:
public class MyEntityService : IMyEntityService
{
private IRepository<MyEntity> _repository;
...
public IEnumerable<MyEntity> GetEntities(){...}
public void StoreHistoricalEntities(IEnumerable<MyEntity> historicalEntities) {...}
}
所以,問題是, :我如何指定,我想(或nhibernate應該)使用MyEntityMap進行查詢,但MyHistoricalEntityMap用於存儲結果?或者我可以申請哪些其他解決方案?
感謝,
基本上,使用自定義SQL加載加載我的所有實體,根據需要過濾它們,然後使用我的服務存儲在歷史表中?謝謝 – msqsf 2011-03-04 16:32:33