LINQ对象持久性

时间:2009-05-29 20:44:36

标签: linq-to-sql

在此处使用以下代码

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中的数据

1 个答案:

答案 0 :(得分:2)

实际上,u只会是IQueryable<typeof(p)>。在您尝试迭代该集合之前,甚至不会命中数据库。

如果您希望在DataContext连接关闭后使用某些对象,则需要在关闭连接之前调用u.ToList以获取结果列表。

从那里,您可以根据需要自行更改对象。如果您希望更改持久保存回数据库,请致电db.SubmitChanges