네 개의 매개 변수를 허용하는 WCF 서비스에 대한 메서드가 있습니다. 메서드는 MS SQL 데이터베이스에서 데이터를 업데이트하기위한 update 문을 처리합니다. 내가 만난 문제는 절을 매개 변수로 보내는 방법을 찾을 수 없다는 것입니다. 것은 직렬화 할 수 없기 때문에 WCF는 QueryBuilder의 개체를 받아 들일 수 없다는 것입니다. WCF에 대한 메서드는 asp.net 클라이언트 페이지에서 호출됩니다 (아약스 물건이 아님).WCF 서비스에 WHERE/절 전달
- 테이블 (문자열)
- 열 (문자열 [])
- 값 (문자열 [])
- 절 (????)
절이 같은되어야 WHERE 3 차원 배열 예 :
clause.Add("users.id","=",1);
내 cu 누락 된 절 rrent 방법
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 Data Services] (http://msdn.microsoft.com/en-us/library/cc668792(v=vs.110).aspx)를 참조하십시오. 당신이 바퀴를 다시 발명 한 것처럼? – StuartLC
그냥 바퀴가 나중에이 WFC와 asp.net 응용 프로그램의 구조가 작성되었을 때 나중에 발명했다고 말해 보자. 내가 말할 수있는 것은, 나는 이런 종류의 결정을 내리는 사람이 아니다. – SuperManSL