【发布时间】:2011-01-30 06:10:09
【问题描述】:
我在决定系统中的哪个层应该创建 DataContext 时遇到问题。我看过一本书,说如果不为所有的数据传递相同的DataContext对象 数据库更新时,它有时会从 DataContext 中抛出异常。这就是为什么我最初在业务层创建 DataContext 的新实例,并将其传递给数据访问层。以便所有更新都使用相同的数据上下文。但这会导致一个设计问题,如果我将来想将我的 DAL 更改为 Non-LinqToSQL,我还需要在业务层重新编写代码。请给我一些建议。谢谢。
示例代码
'Business Layer
Public Sub SaveData(name As String)
Using ts AS New TransactionScope()
Using db As New MyDataContext()
DAL.Insert(db,name)
DAL.Insert(db,name)
End Using
ts.Complete()
End Using
End Sub
'Data Access Layer
Public Sub Insert(db as MyDataContext,name As string)
db.TableAInsert(name)
End Sub
【问题讨论】:
标签: linq-to-sql architecture datacontext