CodeFluent强制更新数据库记录

本文关键字:数据库 记录 更新 CodeFluent | 更新日期: 2023-09-27 18:25:45

我有以下简化的C#代码来用CodeFluent方法更新ID为"1"的记录:

CFEObject anObject = new CFEObject();
anObject.ID = 1; //ID is the primary key, and an Identity Column
anObject.Name = "New Name";
anObject.Save();

上面代码的问题是它没有更新ID为1的对象。相反,它获取下一个ID并创建一个新记录,而不是编辑现有记录。

我意识到通过使用"LoadById"方法加载CFE对象可以解决上述问题,但我不能使用它,因为我没有ID,直到后来值已经设置好。因此,当我使用"LoadById"时,它会擦除我现有的集合属性。

在不使用LoadById方法的情况下,我如何能够强制它更新ID为"1"的CFE记录?

CodeFluent强制更新数据库记录

Save方法调用生成的存储过程。您可以检查该存储过程的代码,以了解它创建新记录而不是更新现有记录的原因。

默认情况下,启用乐观并发。在这种模式下,您需要在更新实例之前设置RowVersion属性。如果值为null,则存储过程将创建一个新记录。