Вопрос

Используя здесь следующий код

Sub FooSub
Dim db As New FooDataContext
Dim u = From p In db.FooTable Where p.FooColumn = FooData Select p

Do Stuff
End Sub

Должен ли я вручную создавать класс для сопоставления данных из моего FooTable, если я хочу, чтобы они сохранялись в приложении?Если я объявлю u как переменную всего класса, то после завершения SubFoo я больше не смогу получить доступ к данным в u

Это было полезно?

Решение

На самом деле, u будет только IQueryable<typeof(p)>.База данных даже не будет доступна, пока вы не попытаетесь выполнить итерацию по этой коллекции.

Если вы хотите, чтобы с некоторыми объектами можно было работать после закрытия соединения DataContext, вам нужно вызвать u.ToList перед тем, как закрыть соединение, необходимо получить список полученных результатов.

Оттуда вы можете изменять сами объекты по своему усмотрению.Если вы хотите, чтобы изменения сохранились обратно в базе данных, вызовите db.SubmitChanges

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top