Problème avec le générator native

Sep 6, 2008 at 7:18 PM
Bonjour,

j'utilise le générateur native pour mapper mes champs Id. J'utilise une base de données SqlServer avec sur chaque clé primaire, une autoincrémentation.

Voila comme je l'ai déclaré dans le fichier de configuration xml :

    <Id field="id">
      <Generator name="native" />
      <Property name="dbType">Int32</Property>
      <Property name="seed">1</Property>
    </Id>

Lorsque j'effectue une insertion à l'aide de la méthode Serialize, j'ai cette erreur :

The type is not defined for the field id in the table USERS

Détails :

Evaluant.Uss.SqlMapper.MappingNotFoundException was unhandled
  Message="The type is not defined for the field id in the table USERS"
  Source="Evaluant.Uss"
  StackTrace:
       à Evaluant.Uss.SqlMapper.SqlMapperPersistenceEngine.AddPrimaryKeysTo(CreateTableSQLCommand table, String columnName, GeneratorMapping map_generator)
       à Evaluant.Uss.SqlMapper.SqlMapperPersistenceEngine.CreateInitCommands()
       à Evaluant.Uss.SqlMapper.SqlMapperPersistenceEngine.InitializeRepository()
       à Evaluant.Uss.ObjectContext.ObjectContext.InitializeRepository()
       à FS.Budget.DataAccess.DatabaseAccess..ctor() dans C:\Users\Franck\Documents\Visual Studio 2008\Projects\FS.Budget\FS.Budget.DataAccess\DatabaseAccess.cs:ligne 65
       à FS.Budget.DataAccess.DatabaseAccess.get_Instance() dans C:\Users\Franck\Documents\Visual Studio 2008\Projects\FS.Budget\FS.Budget.DataAccess\DatabaseAccess.cs:ligne 30
       à FS.Budget.CommandLineTest.Program.Main(String[] args) dans C:\Users\Franck\Documents\Visual Studio 2008\Projects\FS.Budget\FS.Budget.CommandLineTest\Program.cs:ligne 17
       à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       à System.Threading.ThreadHelper.ThreadStart()
  InnerException:

J'ai pourtant bien suivi votre documentation pour déclarer le champ qui fais office de clé primaire. (et dont son contenu est automatiquement récupéré à partir de l'identity)

Merci de votre aide.
Coordinator
Sep 16, 2008 at 2:38 PM
Bonjour,

Pouvez-vous me fournir une application Console démontrant votre problème ? Cette fonctionnalité fonctionne correctement sur nos tests unitaires.