我已经开始在 C# 中测试 Fluent NHibernate 我有一个规范化的对象结构,其中包含 20 个相关类。我目前使用 Fluent 1.3 和 NHibernate 3.2。到目前为止,我已经设法使用了适合我的 AutoMap 功能,非常方便!
但是...其中 3 个表是“枚举表”,需要将其记录设置为特定的 Id 值。我试图对这些表进行手动映射,并让其余的自动映射。但是当创建手动表时它会失败,因为它引用了一个自动映射的表(并且不适用于手动映射器?)
是否可以使用 AutoMapping 但对于一些极少数的类会覆盖主键上的标识创建?我试图制定一个自定义约定,但没有成功。
public class OverrideIdentityGeneration : Attribute
{
}
public class ConventionIdentity : AttributePropertyConvention<OverrideIdentityGeneration>
{
protected override void Apply(OverrideIdentityGeneration attribute, IPropertyInstance instance)
{
instance.Generated.Never();
}
}
还有其他方法吗?被迫重新对所有类使用手动映射将是可悲的......