Fluent nhibernate 如何编写使用序列的自动映射约定

Fluent nhibernate 如何编写使用序列的自动映射约定,fluent-nhibernate,Fluent Nhibernate,我正在更新我们的一些映射,从fluent映射范式到auto映射范式。我有一个名为Group的类,其中标识列的当前fluent映射如下所示: Id(x => x.Id, "ID") .GeneratedBy .Native("GROUPS_SEQ"); <id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

我正在更新我们的一些映射,从fluent映射范式到auto映射范式。我有一个名为Group的类,其中标识列的当前fluent映射如下所示:

Id(x => x.Id, "ID")
    .GeneratedBy
    .Native("GROUPS_SEQ");
<id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
  <column name="ID" />
  <generator class="native">
    <param name="sequence">GROUPS_SEQ</param>
  </generator>
</id>
导致HBM如下所示:

Id(x => x.Id, "ID")
    .GeneratedBy
    .Native("GROUPS_SEQ");
<id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
  <column name="ID" />
  <generator class="native">
    <param name="sequence">GROUPS_SEQ</param>
  </generator>
</id>
不幸的是,最后一行导致编译错误,因为.Native方法不像在fluent映射中那样接受序列名称字符串。有人对如何最好地解决这个问题有什么建议吗


谢谢

GeneratorInstance.cs文件已包含以下方法的实现:

void Native(string sequenceName);
void Native(string sequenceName, Action<ParamBuilder> paramValues);
void Native(字符串sequenceName);
void Native(字符串sequenceName、动作参数值);
这些方法未在IGeneratorInstance.cs界面中公开。我继续添加了它们,这使我能够创建所需的主键约定。据我所知,他们工作得很好。不幸的是,我公司的IT安全小组认为关闭他们防火墙上的一堆端口是合适的,这使得我无法通过github提供这些端口。因此,如果有人想为我提交更新,我将不胜感激


谢谢

GeneratorInstance.cs文件已包含以下方法的实现:

void Native(string sequenceName);
void Native(string sequenceName, Action<ParamBuilder> paramValues);
void Native(字符串sequenceName);
void Native(字符串sequenceName、动作参数值);
这些方法未在IGeneratorInstance.cs界面中公开。我继续添加了它们,这使我能够创建所需的主键约定。据我所知,他们工作得很好。不幸的是,我公司的IT安全小组认为关闭他们防火墙上的一堆端口是合适的,这使得我无法通过github提供这些端口。因此,如果有人想为我提交更新,我将不胜感激

谢谢