在设置我的 DataContext 以便在我的扩展 LinqToSql 类中轻松访问方面的最佳实践是什么?
例如,我的 dbml 中有一个“用户”实体,我想向该类添加方法,如下所示:
Partial Public Class User
Public Function GetUser(ByVal UserID as Integer) as User
'Do Work
End Function
End Class
为了访问我的 DataContext 我必须在方法中声明它,如下所示:
Partial Public Class User
Public Function GetUser(ByVal UserID as Integer) as User
Dim dc as New MyDataContext()
Return (From u in dc.Users Where u.ID = UserID).Single()
End Function
End Class
我不想对每种方法都这样做。通常(如果我没有扩展 LinqToSql dbml 类)我可以这样做:
Partial Public Class User
Private dc as MyDataContext
Public Sub New()
dc = new MyDataContext()
End Sub
Public Function GetUser(ByVal UserID as Integer) as User
Return (From u in dc.Users Where u.ID = UserID).Single()
End Function
Public Function GetAllUsers() as IEnumerable(Of User)
Return From u in dc.Users
End Function
'etc...
End Class
这将允许我访问每个方法的数据上下文,而不必每次都重新声明它。但是你当然不能这样做,因为 dbml 已经有一个构造函数。如果有任何变化,将代码添加到 dbml 中总是会被覆盖。
有人对如何在这里为自己节省一些多余的代码有什么好主意吗?
蒂亚!