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