Question
En utilisant le code suivant ici
Sub FooSub
Dim db As New FooDataContext
Dim u = From p In db.FooTable Where p.FooColumn = FooData Select p
Do Stuff
End Sub
Dois-je créer manuellement une classe pour cartographier les données de mon FooTable si je veux persister dans l'application? Si je déclare u comme variable de classe à l'échelle, puis une fois se termine SubFoo, je ne peux plus accéder aux données u
La solution
En fait, u
ne sera IQueryable<typeof(p)>
. La base de données ne sera même pas frappé jusqu'à ce que vous essayez de parcourir cette collection.
Si vous voulez des objets à utiliser après la connexion DataContext est fermée, vous voulez appeler u.ToList
avant de fermer la connexion pour obtenir une liste des résultats.
A partir de là, vous pouvez changer eux-mêmes les objets que vous le souhaitez. Si vous souhaitez que les modifications de persister revenir à la base de données, db.SubmitChanges
d'appel