Linq to sql LINQ对象持久性

Linq to sql LINQ对象持久性,linq-to-sql,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 如果我希望FootTable中的数据在应用程序中持久化,是否必须手动创建一个类来映射该数据?如果我将u声明为类范围的变量,那么一旦subfo结束,我就不能再访问u中的数据了实际上,u只会是IQueryable。在您尝试迭代该集合

在这里使用以下代码

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

Do Stuff
End Sub

如果我希望FootTable中的数据在应用程序中持久化,是否必须手动创建一个类来映射该数据?如果我将u声明为类范围的变量,那么一旦subfo结束,我就不能再访问u中的数据了

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

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

从那里,您可以根据需要更改对象本身。如果要将更改保留回数据库,请调用
db.SubmitChanges