У меня проблема с двойным (TaxRate здесь), у которого нет одинакового значения при прохождении через функции:
Сначала я вызываю функцию
DataContext.UpdateCategory(theCategorie.Code, theCategorie.Description, theCategorie.TaxRate, theCategorie.TaxCode);
Когда я запускаю отладчик, значение TaxRate равно 19,6
Затем, когда я ставлю точку остановки в вызываемой функции dbml:
[Function(Name="dbo.UpdateCategory")]
public int UpdateCategory([Parameter(Name="Code", DbType="VarChar(20)")] string code, [Parameter(Name="Description", DbType="NVarChar(512)")] string description, [Parameter(Name="TaxRate", DbType="Float")] System.Nullable<double> taxRate, [Parameter(Name="TaxCode", DbType="NChar(10)")] string taxCode)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), uNSPSC, description, taxRate, taxCode);
return ((int)(result.ReturnValue));
}
здесь значение 19.6000003814697 . Вы видите странное добавленное десятичное число? между этими двумя вызовами нет операций, так почему же появляются эти десятичные дроби?