fluent-nhibernate - 为什么 Fluent NHibernate AutoMappings 在 Id 上添加下划线(例如 Entity_id)?

标签 fluent-nhibernate

您好,使用流畅的 nibernate 自动映射

映射此

    public virtual int Id { get; set; }
    /*...snip..*/
    public virtual MapMarkerIcon MapMarkerIcon { get; set; }
}

到此

CREATE TABLE [Attraction](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [MapMarkerIconId] [int] NULL
)

这样:

var cfg = Fluently.Configure()


            .Database(MsSqlConfiguration.MsSql2005.ConnectionString(connectionString)
                .DefaultSchema("xxx"))

            .Mappings(m =>
                          {
                              m.AutoMappings
                                  .Add(
                                  AutoMap.AssemblyOf<Partner>().Where(
                                      n => n.Namespace == "xxx.Core.Domain")

                                  );

                              m.FluentMappings.Conventions.Add(PrimaryKey.Name.Is(x => "Id"),
                                                               DefaultLazy.Always(),
                                                               ForeignKey.EndsWith("Id")
                                  );
                          }


            )

            .ExposeConfiguration(c => c.SetProperty(Environment.ReleaseConnections, "on_close"))
            .ExposeConfiguration(c => c.SetProperty(Environment.ProxyFactoryFactoryClass, typeof(ProxyFactoryFactory).AssemblyQualifiedName))
            .BuildConfiguration();

为什么我会得到

Server Error in '/XXX.Web' Application. Invalid column name 'MapMarkerIcon_id'.

如何让 fluidnibernate 使用 MapMarkerIconId 而不是 MapMarkerIcon_id?

最佳答案

关于fluent-nhibernate - 为什么 Fluent NHibernate AutoMappings 在 Id 上添加下划线(例如 Entity_id)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3395340/

相关文章:

c# - 如何防止 Fluent NHibernate 将 "Parent"表的 FK 添加到关系表中?

c# - fluent nhibernate - 具有属性的多对多映射

c# - Fluent NHibernate C# 中的基本关系问题

nhibernate - FluentNhibernate 和 NHibernate 3.2

nhibernate - 如何配置 FluentNHibernate 不覆盖现有的 SQLite 数据库文件?

nhibernate - 如何使用 NHibernate (Fluent) 将 DateTime 属性映射到数据库中的 2 个 varchar 列?

mysql - FluentNHibernate MySQL 配置

nhibernate - 将 NHibernate 实体映射到基于父级的多个表

nhibernate - 如何使用 Fluent NHibernate 映射具有私有(private)作用域的组件?

带有 byte[] 参数的 NHibernate ISQLQuery 抛出错误