製品クラスがあり、Access データベースで Dapper を評価しようとしました。選択、削除、および挿入操作は正常に機能していますが、更新操作に問題があります。以下のコードで一方向のみで動作しています)
ProductNumberに基づいて説明を変更しようとすると(updateStatement2) 機能し、説明は更新されますが、説明に 基づい て製品番号を変更しようとすると(updateStatement1) は機能せず、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 を使用しています。これは私のデータベースのスクリーンショットです