我正在尝试用代码映射一些东西。
这很好用:
ComposedId(cm =>
{
cm.Property(x => x.Column1);
cm.Property(x => x.Column2);
});
是功能
void Property<TProperty>(Expression<Func<TContainer, TProperty>> property);
然而,我正试图通过
使其更具活力void Property(string notVisiblePropertyOrFieldName, Action<IPropertyMapper> mapping)
我尝试设置每个选项,如下所示:
ComposedId(cm =>
{
cm.Property("Column1", a =>
{
a.Access(Accessor.Property);
a.Column("Column1");
a.Generated(PropertyGeneration.Never);
a.Index("Column1");
a.Insert(true);
a.Lazy(false);
a.NotNullable(true);
a.Update(true);
a.Unique(false);
a.Type(NHibernateUtil.Int32);
a.Length(int.MaxValue);
a.Scale(0);
});
}
});
与Column2类似,但似乎没有任何效果。 它只是忽略了我的ComposedId,我认为nhibernate不会将它识别为正确的标识符,因为它尝试将“Id”列作为标识符,而不存在。
我想如何创建Action映射以使其正常工作?