У меня проблема при передаче нулей в метод ExecuteCommand () с помощью linq. Мой код похож на следующий:
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());
}
Но когда параметр имеет значение NULL (например, адрес), я получаю следующую ошибку: «Параметр запроса не может иметь тип« System.Object ».
Ошибка не возникает, если никакие параметры не равны нулю. Я знаю, что дизайн в моем примере немного плох, я просто создал упрощенный пример, чтобы сосредоточиться на проблеме. Есть предложения?