忽略1个映射文件的主键约定

本文关键字:约定 文件 1个 映射 忽略 | 更新日期: 2023-09-27 17:54:00

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

除了一个

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

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

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

谢谢

忽略1个映射文件的主键约定

您可以重写它。虽然它看起来像你试图使用两个流利的NH自动映射和映射代码的混合物,我不确定它会在这种情况下工作。我将像这样重写它:

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