我有一个数据访问层,它创建一个上下文并检索数据(没有对象跟踪)并将信息传递回 UI 层:-
我的工作单元是一个方法,我在执行特定方法后发布 appdatacontext。所以我没有在任何地方跟踪数据上下文..
public LinqObject GetObject(){
using (appdatacontext = new DataContext()){
---code to select and return object
}
}
我将使用 UI 中的表单修改数据并将我的数据提交回 DB。
两种方法是:-
1. Detach and reattach to a different data context using [Detach..Serialise and Attach]
*I have to do a lot of plumping code to enable this functionality*
2. Get the DB object using primary key and make changes in the selected object and SubmitChanges.
哪一个是完成这项任务的更好方法?
我完全反对将工作单元移动到数据访问层或 Web 应用程序生命周期 (httpcontext),因为我不想跟踪更改并使用不需要的填充代码使整个应用程序结构复杂化。我只是使用 LINQ 来轻松地检索和更新数据库。
我从未见过有人在 LINQ 上下文中讨论这两种方法,这就是我要求最佳实践的原因。