2009-05-29 6 views
1

Je souhaite mettre à jour une LinqDataSource avec un enregistrement extrait d'un DataContext différent. Le problème est que le DataContext de LinqDataSource ne semble pas être rendu public, donc je ne peux pas y accéder pour attacher le nouvel objet au contexte de DataSource.Mise à jour de LinqDataSource à partir de DataContext séparé

Quelle est la procédure normale? Ou devrais-je simplement supprimer le LinqDataSource

Répondre

1

Bonne raison pour cela - vous ne pouvez pas partager des objets entre différents DataContexts.

Si vous utilisez l'événement OnContextCreating de LinqDataSource vous pouvez joindre l'instance correcte à la source de données [c.-à-ce que la deuxième entité est récupéré à partir] de sorte qu'ils sont tous les deux de la même DataContext:

ASPX:

<asp:LinqDataSource .... OnContextCreating="GetDataContext" ... /> 

C#:

protected void GetDataContext(object sender, LinqDataSourceContextEventArgs e) 
{ 
    e.ObjectInstance = MyDataContext.Current; // assuming that Current is the ambient instance 
} 
Questions connexes