¿Cómo puedo asignar una lista de cadenas de mi entidad usando NHibernate?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo dos tablas en mi base de datos:Artículos y Etiquetas

Las Etiquetas de las tablas constan de ArticleID (clave externa) y una Etiqueta (varchar).

Ahora necesito un mapa artículos de etiquetas en un sólo lectura de la colección en el Artículo de la entidad, ya sea mediante IList Etiquetas o ReadOnlyCollection Etiquetas.

He consultado el NHibernate material de referencia, pero me parece que no puede encontrar al utilizar Set, Bolsa y la otra Nhibernate colecciones.He visto ejemplos de utilización de la ISet colección, pero en realidad no me gusta para atar mis clases de entidad a un tipo de NHibernate.

¿Cómo puedo hacer el mapeo en NHibernate?

editar:Terminé con un <bag> en su lugar, ya que no se requiere un índice:

<bag name="Tags" table="Tag" access="nosetter.camelcase" lazy="false">
  <key column="ArticleId" />
  <element column="Tag" type="System.String" />
</bag>
¿Fue útil?

Solución

El tipo de colección a utilizar en su asignación depende de cómo usted desea representar a la recogida en el código.La configuración del mapa así:

  • El <list> se asigna directamente a un IList.
  • El <map> se asigna directamente a un IDictionary.
  • El <bag> se asigna a un IList.Un no cumplir completamente con la interfaz IList porque el Método Add() no se garantiza la volver al índice correcto.Un objeto puede ser añadido a un <bag> sin la inicialización de la interfaz IList.Asegúrese de ocultar la interfaz IList de la los consumidores de su API o hacer bien documentado.
  • El <set> se asigna a un Iesi.Las colecciones.ISet.Que la interfaz es la parte de la Iesi.Las colecciones de la asamblea distribuido con NHibernate.

así que si quieres un IList a ser devuelto, entonces se puede utilizar el <list> la cartografía.En tu caso, yo probablemente mapa de uso de la <list> la cartografía.

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