Когда следует использовать Parameters. Add/AddWithValue?
В следующем примере MSDN они используют Parameters.Add для int и Parameters.AddWithValue для string
command.Parameters.Add("@ID", SqlDbType.Int);
command.Parameters["@ID"].Value = customerID;
command.Parameters.AddWithValue("@demographics", demoXml);
Что лучше всего использовать для datetime