Active Record の新しいビルトイン テスト (接続文字列として "Test" を設定) を使用すると、更新の実行中に問題が発生しました。
私がテストしているコードは、既存のオブジェクトをデータベースから引き出し、変更を加えてから保存します。
public void SaveProduct(string productId) {
var dbProduct = Model.Generated.Product.SingleOrDefault(x => x.ProductID == productId);
dbProduct.Description = "Description";
dbProduct.Price = "Price";
dbProduct.Save();
}
これをテストするために、1 つの製品を含む新しい製品リストを作成しています。
_dbProducts = new List<Product>
{
new Product
{
ProductID = "XXX0001"
}
};
次に、テスト (偽) を設定します。
Product.Setup(_dbProducts)
保存メソッドを呼び出す
repository.SaveProduct("XXX0001");
問題は、次のエラー メッセージが表示されることです...
System.NotImplementedException: メソッドまたは操作が実装されていません。ActiveRecord.cs の Model.Generated.Product.Add(IDataProvider プロバイダー) で SubSonic.Repository.TestRepository`1.Add(T 項目、IDataProvider プロバイダー): ActiveRecord の Model.Generated.Product.Save(IDataProvider プロバイダー) で 708 行.cs: ActiveRecord.cs の Model.Generated.Product.Save() の 721 行目: ProductRepository.cs の Subsonic.PDAJobRepository.SaveProduct() の 715 行目: When_Saving_Product の Tests.ProductRepository.When_Saving_Product.Setup() の 46 行目。 cs: 44行目