AddWithValue is evil, and you should absolutely not use it. From the naïve C# programmer's perspective, it may seem slick, but it is a disaster on the database side.
Dan Guzman explains this very well in his blog post https://www.dbdelta.com/addwithvalue-is-evil/