设置:
我有一个包含许多字段的大型表单,这些字段被收集以更新 Product 对象。因此,在 ASPX 页面中,用户更改需要更新的字段并点击提交。在后面的代码中,我做了这样的事情;
Dim p as New MyCompany.Product()
p = p.GetProductById(ProductID)
我将 Linq 的 Product 部分类扩展为 SQL 以将此方法(GetProductById)添加到对象
p.Name = txtName.Text
p.SKU = txtSKU.Text
p.Price = txtPrice.Text
...
p.Update()
这是扩展产品部分类中的更新方法。我更新数据库、发送电子邮件和更新历史表,所以我希望这种方法能够完成所有这些事情。
该项目还有 50 个字段,因此显然拥有一个收集所有 50 个字段的方法是荒谬的(而且我不想走那条路,因为调试 IMO 更难)
问题:
如果我使用 DataContext 通过 Linq to SQL 获取产品,那么我将永远无法再次更新它,因为它会出错,因为它无法附加和已经附加到另一个 DataContext 的实体。
问题:
因此,如果我通过 BLL 中的方法获取对象,在 ASPX 页面中更新它,然后尝试再次通过 BLL 发送更新以更新数据库,我应该怎么做呢?