FluentNHibernate: no puede cambiar el nombre de columna de clave para una relación uno-a-muchos

StackOverflow https://stackoverflow.com/questions/1716114

  •  19-09-2019
  •  | 
  •  

Pregunta

Tengo una entidad:

public class Message:Entity
    { 
       public virtual IList`<`Message> ReplayMessages { set; get; }
       public virtual Message ParentMessage { set; get; }
    }

I try to override the mapping:
 mapping.HasMany(x => x.ReplayMessages)
                .AsSet()
                .KeyColumnNames.Add("ParentId");

pero en el archivo hbm.xml me sale:

<set name="ReplayMessages">
      <key column="MessageFk" />
      <one-to-many class="Edi.Core.Model.Message, Edi.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </set>

¿Por qué el nombre clave de la columna no ha cambiado?

¿Fue útil?

Solución

Cuando uso hasMany que se parece a esto:

HasMany(x => x.OrderItems)
    .KeyColumn("OrderId")
    .AsSet()
    .Cascade.All();

No sé lo que KeyColumnNames se utiliza para ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top