在我的扩展LinqTosql类中设置DataContext以便于访问的最佳做法是什么?
例如,我在我的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中添加代码总是被覆盖.
任何人有什么好的想法,如何在这里保存自己一些多余的代码?
TIA!