Nous avons un grand système qui est lié à sa source de données (Navision) via Unity - nous avons la possibilité de l'échanger et d'avoir notre propre base de données. Nous avons donc jeté un coup d'œil autour et nous aimons vraiment le look de Fluent NHibernate - nous essayons d'obtenir une preuve de concept et d'échanger quelques services.Obtention de NHibernate pour générer un ID de chaîne HiLo
Nous voulons utiliser l'algorithme NHibernates HiLo - Malheureusement, nous avons hérité des identifiants de chaînes de Navision qui préfixent ses identifiants (exemple COL00001) afin de correspondre à l'interface dont nous avons besoin pour utiliser les identifiants de chaînes.
Est-ce que quelqu'un sait comment j'obtenir quelque chose comme ...
Id(x => x.ID).GeneratedBy.HiLo("100");
travail où ID est une chaîne? Nous obtenons actuellement l'identité doit être int, long etc
Merci,
Andy
------ ------ Mise à jour
J'ai essayé l'exemple dans la article suggéré mais cette fonctionnalité a été supprimée des versions ultérieures de Fluent NHibernate - il existe cependant un .Custom - mais je n'arrive pas à le faire fonctionner!
public class ManufacturerMap : ClassMap<Manufacturer>
{
public ManufacturerMap()
{
Id(x => x.ID).GeneratedBy.Custom(typeof(StringTableHiLoGenerator));
Map(x => x.Name);
}
}
public class StringTableHiLoGenerator : TableHiLoGenerator
{
public override object Generate(ISessionImplementor session, object obj)
{
return base.Generate(session, obj).ToString();
}
}
merci pour votre aide, mais s'il vous plaît voir la mise à jour à la question, - l'article se réfère à des méthodes qui ont maintenant été retirés de Fluent. –