Tengo un problema al pasar nulos a un método ExecuteCommand() usando linq. Mi código es similar a la que sigue:Linq ExecuteCommand no entiende nulos
public void InsertCostumer(string name, int age, string address)
{
List<object> myList = new List<object>();
myList.Add(name);
myList.Add(age);
myList.Add(address);
StringBuilder queryInsert = new StringBuilder();
queryInsert.Append("insert into Customers(name, address) values ({0}, {1}, {2})");
this.myDataContext.ExecuteCommand(queryInsert.ToString(), myList.ToArray());
}
Pero, cuando un parámetro es nulo (dirección, por ejemplo), me sale el siguiente error: "Un parámetro de consulta no puede ser de tipo 'System.Object' "
El error no ocurre si no hay parámetros nulos. Sé que el diseño en mi ejemplo es un poco pobre, acabo de crear un ejemplo simplificado para enfocarme en el problema. ¿Alguna sugerencia?
7 años después. Nada ha cambiado. ¡Arghhhh Microsoft! – dzendras
Esto es extraño, como [MSDN dice explícitamente] (https://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.executecommand (v = vs.110) .aspx) que maneja null –