BAn*_*rei 4 .net c# postgresql wpf linq2db
为了继续使用数据库中的数据在应用程序中工作,我使用 linq2db。
如果该对象有 ID,则在 DB 中插入对象时,预计会插入 ID;如果没有标识,则在 DB 中为此对象创建新 ID。
但目前,此方法在这两种情况下都会插入新的 id。
我可以给你举个例子:
using(var db = new EIDB())
{
Customer.Id=20;
Customer.Name="Greg";
db.Insert(Customer);
}
Run Code Online (Sandbox Code Playgroud)
插入之后,我们在数据库中就有了这个名为“Greg”且 ID=1 的客户...
***有没有办法做类似的事情,但要插入之前设置的相同ID(在我们的示例中= 20)?
PS:如果我使用 NpgsqlCommand 并插入相同的数据,则插入 ID=20...
我找到了解决方案。如果我只使用 db.Insert(Customer) 则使用新 ID 在数据库中创建一个新实例。但是,如果我这样做:
db.Customers
.Value(p => p.Name, Customer.Name)
.Value(p => p.Id, Customer.Id)
.Insert();
Run Code Online (Sandbox Code Playgroud)
这是在数据库中插入之前设置的 id 的实例。
祝那些遇到同样问题的人好运:)
| 归档时间: |
|
| 查看次数: |
4562 次 |
| 最近记录: |