У меня есть метод службы WCF, который принимает четыре параметра. Метод будет обрабатывать инструкцию обновления для обновления данных в базе данных MS SQL. Проблема, с которой я столкнулся, заключается в том, что я не могу найти способ отправки предложения в качестве параметра. Дело в том, что WCF не может принимать объекты QueryBuilder, потому что они не могут быть сериализованы. Метод на WCF будет вызываться с клиентской страницы asp.net (нет данных ajax).Передача WHERE/в службу WCF
- таблицы (строка)
- столбцов (строка [])
- значения (строка [])
- пункт (????)
ИНЕКЕ должно быть что-то вроде трехмерный массив пример:
clause.Add("users.id","=",1);
Мой у.е. Метод с отсутствующим ко в ой то п
public bool SqlUpdate(string table, string[] columns, string[] values,??? clause)
{
bool success = false;
DbDataReader dbDataReader = null;
try
{
DbCommand command = new System.Data.SqlClient.SqlCommand();
UpdateQueryBuilder update = new UpdateQueryBuilder();
update.SetTable("users");
update.AddAssignment("firstName", "ChangedName");
//loop through clauses (it can have multiple clauses) if necessary
update.Where = new SimpleWhere("users", "id", Comparison.Equals, 4); //this is where I need to input clause
success = true;
}
catch (Exception ex)
{
WriteError(ex.ToString());
success = false;
}
return success;
}
UpdateQueryBuilder() является классом для создания параметризованного запроса по code-engine.com. Исходный код можно найти here
Возможно, вам стоит взглянуть на [Службы данных OData/WCF] (http://msdn.microsoft.com/en-us/library/cc668792 (v = vs.110) .aspx) - это звучит как вы могли бы изобретать колесо? – StuartLC
Допустим, что колесо было изобретено позже, когда была написана структура этого приложения WFC и asp.net. Что я могу сказать, я не тот, кто принимает такие решения. – SuperManSL