如果我将我的域对象映射到linq实体,我现在无法在保存域对象时跟踪更改吗?因此,对于我希望制作的模型中的任何更改,一旦我将对象映射到linq实体以提交给db,所有对象值将由linq提交给db,因为它首先通过映射?或者仍然可以利用此处的对象跟踪?
答案 0 :(得分:1)
取决于您正在使用的O / R映射器。您指的是在实体内部不进行任何更改跟踪的实体框架,因此当您重新附加以前从数据库中获取的实体时,它需要您的帮助(因此它知道它不是新的)。
答案 1 :(得分:1)
这是关于多层环境中CRUD操作的article from microsoft(与您的域映射方案类似的问题)。
查看更新 - 使用完整实体自行更改跟踪的方式。
还有另一种技术,你将实体附加为未经修改的,然后使用Keep Current Values添加.Refresh() - 替换原始实体。这将允许您以数据库往返为代价插入/更新/不执行任何操作。