Lors de l'enregistrement d'une ligne dotée d'une clé primaire integere, l'exception suivante est lancée dans la version VB: 'Membre public' ChangeTypeTo 'sur le type' Décimal 'non trouvé.'Problème de moulage dans SubSonic 3
Cela se produit dans la ligne de fichier ActiveRecord.VB 3406:
Public Sub SetKeyValue(value As Object) Implements IActiveRecord.SetKeyValue
If value IsNot Nothing AndAlso value IsNot DBNull.Value Then
Dim settable = value.ChangeTypeTo(Of Integer)()
je peux changer la dernière ligne:
Dim settable = CInt(value) 'value.ChangeTypeTo(Of Integer)()
Cela va corriger le problème jusqu'à ce que je recompile les fichiers .tt.
Ma question est, comment puis-je changer cela dans le fichier ActiveRecord.tt? Le code dans le fichier tt ressemble à ceci:
Dim settable = value.ChangeTypeTo(Of <#=tbl.PK.SysType#>)()
Toute aide est appréciée.
Merci
La partie intesting du code incorrect, cependant, est que votre clé primaire entière en Decimal. Pourquoi ne pas chercher à revenir? – Apocatastasis
Merci de votre contribution. Vous aviez raison, il semble y avoir des problèmes avec les modèles VB. J'ai fait comme vous l'avez suggéré, j'ai ajouté un projet de bibliothèque de classe C# à ma solution et j'ai utilisé les modèles C#. J'ai changé ma référence (j'avais aussi les templates VB dans un projet séparé) pour le projet C# et maintenant ça fonctionne parfaitement. Merci encore. gm –