내 시스템에서 DataContext를 생성해야하는 레이어를 결정하는 데 문제가 있습니다. 모든 데이터베이스 업데이트에 대해 동일한 DataContext 개체를 전달하지 않으면 때때로 DataContext에서 예외가 발생한다는 내용의 책을 읽었습니다. 이것이 바로 비즈니스 계층에서 DataContext의 새로운 인스턴스를 만들고 데이터 액세스 레이어로 전달하는 이유입니다. 따라서 모든 업데이트에 동일한 datacontext가 사용됩니다. 그러나 이것은 하나의 디자인 문제로 이어집니다. 미래의 Non-LinqToSQL으로 DAL을 변경하고 싶다면 비즈니스 계층에도 코드를 다시 작성해야합니다. 이것에 대해 조언 해주세요. 감사.DataContext를 생성해야하는 계층은 무엇입니까?
예제 코드
비즈니스 로직 계층 (BLL)의 일부를 저장 (DB, XML, 디스크 등)에 I/O를 필요로'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