When I upgraded my project .NET 3.5 to .NET 4.0, my dbml files were re-generated. In at least one case, where the order of the parameters in my SPROC had changed (from the time I originally generated the dbml) the upgraded dbml pass the wrong values to the wrong parameters.
Where I use to have:
@PARAM1, @PARAM12, @PARAM3
I now have:
@PARAM2, @PARAM3, @PARAM1
Which was working fine until I upgraded; now the parameters are being passed by position, not by name. Meaning I get this:
@PARAM2=@PARAM1, @PARAM3=@PARAM2, @PARAM1=@PARAM3