0

我所有的表都有一个整数列作为 Id - 主键

除了一个

        instance.CustomType<int>();
        instance.GeneratedBy.Custom<global::NHibernate.Id.IdentityGenerator>();
        instance.UnsavedValue("0");

有没有办法忽略这个映射文件的主键约定?

          mapping.Id(a => a.Id, "RoleName").GeneratedBy.Assigned();

谢谢

4

1 回答 1

1

您可以覆盖它。虽然看起来您正在尝试混合使用 Fluent NH Automapping 和代码映射,但我不确定它在这种情况下是否有效。我会像这样覆盖它:

AutoMap.AssemblyOf<Role>().Override<Role>(map =>
{
    map.Id(x => x.Id, "RoleName")
        .CustomType<int>()
        .GeneratedBy.Identity()
        .UnsavedValue("0");
});

我的基本思想来自:https ://github.com/jagregory/fluent-nhibernate/wiki/Auto-mapping

于 2013-01-21T19:07:14.123 回答