2009-05-29 9 views
0

J'ai une question à propos de nhibernate et de mysql. Je fais ceci:Fluent Nhibernate et MySql, problèmes avec le dialecte

Fluently.Configure()  
.Database(MySQLConfiguration.Standard.ShowSql())  
.Mappings(m =>   
m.FluentMappings   
.AddFromAssemblyOf<ShopperMapping>())  
.BuildConfiguration();SchemaExport 
exp = new SchemaExport(cfg); 
exp.Execute(true, false, false, true); 

Mais quand vous le faites-je obtenir des échecs comme « Dialect ne prend pas en charge DbType.Uint32 » et les goûts. Je reçois la même chose pour les propriétés mappées de type Uint64 (ulong). Pourquoi cela arrive-t-il? Est-ce que quelqu'un sait? Ai-je besoin de mapper d'une autre manière? Comme dire explicitement quelle stratégie d'accès utiliser ou quelque chose comme ça?

Cordialement, Jörgen

Répondre

3

NHibernate ne supporte pas les types entiers non signés. La liste complète des types de base implémentés par NHibernate peut être trouvée in the documentation.

Je ne connais pas de "mot officiel" pour expliquer pourquoi ils ne le sont pas, mais si je devais deviner c'est some* major database engines pour une raison quelconque do not support unsigned integers.

** pour de petites valeurs de "certains" *