[英]CodeFluent Force Update a Database Record
我有以下简化的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记录?
Save
方法调用生成的存储过程。 您可以检查该存储过程的代码,以了解为什么它创建新记录而不是更新现有记录。
默认情况下,开放式并发处于启用状态。 在这种模式下,您需要在更新实例之前设置RowVersion
属性。 如果该值为null
,则存储过程将创建一个新记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.