我正在尝试解决的问题
使ValuationsCommanderTests.SetTransactionAndRelatedEmbeddedDerivativevaluationsToBad_ValidInput_CorrectlyManipulatesDB()通过.
尝试解决问题
调试它之后,我缩小了它无法通过的原因,因为私有方法ValuationsCommander.SetRelatedDailyTransactionHistoryRecordsToBad从未更新记录,因为尽管它已为此注册了一个转换器,但它是如何转换(或不转换)NodaTime的LocalDate的类型.
该方法生成的SQL的示例如下
UPDATE "cfo_daily_trans_hist" SET "dh_sn_scenario_id"=@dh_sn_scenario_id
WHERE (("dh_tq_tran_quote_id" = @0) AND ('Saturday, November 13, 1993' <= "dh_val_time_stamp"))
从我看来,从LocalDate到DateTime的转换没有发生,而是决定通过toString而不是DateTime比较来进行比较.
我认为可能导致此问题的一些原因如下:
>方言提供者未正确注册NodeTime转换器
>使用具有DateTime作为其ValuationTimeStamp类型的虚拟类创建DailyTransactionhistoryTableModel.
这些似乎都不是根本问题,而且我已经用不了解决此问题的方法.
关于OrmLite如何利用转换器,或者我可能尝试解决此问题的任何其他事情,我是否不了解?
解决方法:
像往常一样,感谢@mythz解决了这一问题.