我有一个产品类并尝试使用 Access 数据库评估 Dapper。选择、删除和插入操作工作正常,但更新操作有问题。它以一种方式工作,只有下面的代码)
当我尝试根据ProductNumber更改描述时,它可以工作(updateStatement2)并且描述得到更新,但是当我尝试 根据 描述(updateStatement1)更改ProductNumber时它不起作用并且 ProductNumber 没有得到更新。这对我来说有点奇怪。这是一个错误还是我错过了什么?我的数据库只是一个基本的,没有设置主键。我在下面附上了截图
(有关更多信息,请参阅下面的代码)
public class Products
{
public string ProductNumber { get; set; }
public string Description { get; set; }
}
static void Main(string[] args)
{
using (var con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb"))
{
Products product2 = new Products();
product2.ProductNumber = "P2";
product2.Description = "TestProduct2Changed";
var updateStatement2 = @"Update Products Set Description = @Description Where ProductNumber = @ProductNumber";
int outp2 = con.Execute(updateStatement2, product2);
Products product1 = new Products();
product1.ProductNumber = "P3Changed";
product1.Description = "TestProduct3";
var updateStatement1 = @"Update Products Set ProductNumber = @ProductNumber Where Description = @Description";
int outp1 = con.Execute(updateStatement1, product1);
}
}
我正在使用 Dapper 1.50.2 版。这是我的数据库截图