Dans ma base de données, j'ai un champ contenant une liste d'e-mails délimités par des virgules. Comment est-ce que je mapperais ceci à un IList<string>
dans mon modèle?Mappage Fluent-NHibernate
0
A
Répondre
0
La table en question n'est même pas la première forme normale, ce qui est mauvais.
La seule façon que vous pouvez éventuellement faire est quelque chose le long de ces lignes:
class Foo
{
private List<string> emails = new List<string>();
public string _Emails
{
get { return string.Join(",", emails.ToArray()); }
set { emails = new List<string>(value.Split(',')); }
}
public IList<string> Emails
{
get { return emails; }
}
}
et propriétés de la carte _Emails
.
Modifier
Une autre solution est implemention votre propre IUserType
ou IUserCollection
. Ainsi votre modèle sera beaucoup plus joli.
2
Vous devez implémenter un IUserCollection
, qui mapperait votre colonne CSV à une liste de courriels, puis la sérialiser lors de la sauvegarde.
Questions connexes
- 1. FluentNHibernate mappage à une vue
- 2. Lecture du fichier Xml de mappage généré par l'API FluentNHibernate
- 3. FluentNHibernate Lookup Table
- 4. Mappage d'une association ternaire avec FluentNHibernate, en utilisant IDictionary <TKey,TValue>
- 5. NHibernate ou FluentNHibernate ou ActiveRecord?
- 6. FluentNHibernate Automatisation ne générant pas de mappages
- 7. SchemaExport avec FluentNhibernate
- 8. fluentnhibernate et entités virtuelles
- 9. FluentNhibernate et SQLite
- 10. FluentNHibernate RTM et NHibernate.Linq
- 11. FluentNHibernate - ReadOnlyPropertyThroughCamelCaseField (Prefix.Underscore)
- 12. FluentNHibernate mapping pour le dictionnaire
- 13. FluentNHibernate: Obtention du fichier Examples.FirstProject
- 14. FluentNHibernate hasMany pas la collecte de remplissage
- 15. FluentNHibernate: Nom d'objet invalide sur SaveOrUpdate
- 16. Gestion de session FluentNHibernate dans ASP.NET
- 17. parent simple FluentNHibernate/cartographie des enfants
- 18. FluentNHibernate - Automatisation de la propriété ignore
- 19. FluentNHibernate et ne pas reconnaître la session
- 20. FluentNHibernate - AutoMappings produisant un incorrect à plusieurs colonnes clés
- 21. Mappage hbm.xml
- 22. FluentNHibernate - Définition de la valeur par défaut pour les colonnes de base de données (SQL Server)
- 23. Tables de base de données vers des classes d'entités C# - générateur pour FluentNHibernate?
- 24. Mappage Enum from String
- 25. Mappage d'énumération SqlDbType - C#
- 26. Mappage d'une liste d'énumérations
- 27. requête de mappage ùser
- 28. Configuration du mappage IRQ
- 29. Hibernate: mappage 3 tables
- 30. Mappage NHibernate Fluent Édition
Eh bien, vous n'êtes parfois pas responsable de la conception de la base de données. Votre solution fonctionnera avec quelques ajustements (le client doit également pouvoir ajouter des adresses au champ Emails), mais j'espérais un type de mappage défini par l'utilisateur. Je ne suis pas très désireux de polluer mon modèle :) – BjartN