2011-06-21 70 views
1

我们使用LINQ to SQL与存储库模式和DTO。我的问题是:将实体保存到数据库时,Save()方法接受DTO作为参数。保存一个新的似乎是非常直接的,我只是实例化一个新的实体,并从DTO填充值,然后在数据上下文中调用SubmitChanges()。LINQ to SQL库模式:保存实体

但是,编辑现有实体时会发生什么?加载原始值的最佳方式是什么?我的直觉是创建一个新的实体,从DTO加载值,然后将其附加()到datacontext,但现在我已经失去了任何更改跟踪,因为我没有考虑到原始值。

你们如何处理这个问题?

回答

1

由于您正在使用DTO,我假设它与您的实体不同,您通常会从上下文中检索实体,然后将实体中的值设置/比较为DTO。


如果我的假设是错误的,通常人们只是将实体附加到上下文,并保存更改。