我正在处理一个具有锁定模式的遗留数据库。我面临的问题是,许多表都是以已知/固定/硬编码的实体类型 Id 值为键的,而不是具有列值。这意味着我不能使用普通的 References 构造。
对于具有 ENTITY_TYPEID 的表,我可以这样做:
public class EntityMap : ClassMap<Entity>
{
public EntityMap()
{
References(x => x.Type)
.Columns("ENTITY_SECTION","ENTITY_TYPEID");
}
}
它愉快地填充了 Entity.Type。
对于固定/已知/硬编码类型的表,我需要映射到硬编码值而不是 ENTITY_TYPE 列,因此在代码中解释:
public class EntityXMap : ClassMap<EntityX>
{
public EntityXMap(int entityType)
{
References(x => x.Type)
.Columns("ENTITY_SECTION", "ENTITY_TYPE = 123" );
}
}
HasMany() 有一个 Where() 构造,我可以在这种情况下使用它......
任何想法如何在这里实现类似的东西?