次のように DBContext を介して呼び出されるストアド プロシージャがあります。
using (var transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0)))
{
using (var db = new IceCreamEntities(connectionString, null, null))
{
db.CallMyProc(dateTime);
var num = db.SaveChanges();
}
transScope.Complete();
}
編集: proc は、渡された日時値と DB で既知のその他の情報に基づいて、いくつかの行を削除します。
プロシージャは確実に機能します - 私の統合テストでは、プロシージャの実行後にテーブルに適切な行数があることを確認していますが、影響を受ける行数に対して常に 0 が返されます。
アイデア?
私は実行しています: EF 4.3、MySQL 5.5.28、MySQL コネクタ 6.5.4
解決済み:以下の私の回答を参照してください。