Bonjour,

J'ai une table "JUserTbl" qui contient un champ "JUserEmail"


Je voudrais pouvoir mettre à jour ce champ avec le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 <Invoke()> _
    Public Sub ChangeEmailForUserId(ByVal parJuserId As Integer, ByVal parNewEmail As String)
 
'd'abord je retrouve l'enregistrement qui correspond à mon parJUserId
 
        Dim UserSet As IQueryable(Of JUserTbl) = _
        From MyUser In Me.ObjectContext.JUserTbl _
        Where MyUser.JUserID = parJuserId _
        Select MyUser
 
'je mets alors mon nouvel email dans JUserEmail
        UserSet.First.JUserEmail = parNewEmail
 
'et puis je tente de sauver
        Me.ObjectContext.JUserTbl.AttachAsModified(UserSet.First, Me.ChangeSet.GetOriginal(UserSet.First))
et c'est sur cette dernière ligne que j'ai une erreur:
Object reference not set to an instance of an object
c'est pourtant le code qui est utilisé dans le service créé avec le domainDataSource.

Pour info, quand je remplace ma dernière ligne tout simplement par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Me.ObjectContext.SaveChanges()
ça fonctionne, mais j'aimerais bien comprendre pourquoi la méthode "update" ne fonctionne pas alors que j'utilise parfois des Add ou des Delete qui fonctionnent