//my question is here
public static Query Where<TElement>(this Query query, Func<TElement, bool> predicate)
{
query.sql +=" FROM Table WHERE "+ predicate+";";
return query;
}
//Query class
public class Query
{
public Query(){}
public Query(string sql){this.sql = sql;}
public string sql { set; get; }
}
//User class
public class User
{
public int ID { get; set; }
public string Name { get; set; }
}
//example:
User user = new User() { ID=1,Name="test"};
Query query = new Query();
query = query.Where<User>(u=>u.ID==user.ID);
Console.WriteLine(query.sql);
실행 한 후, 결과는<TElement, 부울> 술어
가FROM Table WHERE ID=1;
누군가가 나를 도울 수 있습니까?
이 부분이 어디서 나왔는지 설명 할 수 있습니까? 'u => u.ID == user.ID'. 일치하는 ID 만주고 싶다면 원하는 ID가 무엇입니까? –
먼저, 술어를 구문 분석하려면'Expression>'형식이어야합니다. 다음 질문은 이것으로 당신의 의도 된 목표입니까? Linq To Sql을 질문 태그처럼 사용한다면 왜 'Where'를 재발 명하고 있습니까? –
나는 linq가 어떻게하는지 알고 싶다 – artwl