저는 C#의 초보자이고 라이브러리 (책 및 저널)의 컨텐츠를 보유하고있는 응용 프로그램을 만들고 있습니다.사전을 linq 쿼리로 변환합니다.
UI, BLL 및 DAL로 3 단계 프로그램을 작성 중입니다.
내가하려는 것은 콤보 상자에서 텍스트를 가져 와서 DAL에서 Linq to SQL 쿼리로 변환하는 것입니다. 로컬 데이터베이스를 만들고이를 Entity 프레임 워크와 매핑했습니다.
BL.MainLogic BLL = new MainLogic();
Dictionary<string, string> searchList = new Dictionary<string, string>();
searchList.Add("ItemID", cmboBxItemID.Text);
searchList.Add("ItemName", cmboBxItemName.Text);
searchList.Add("ItemType", cmboBxItemType.Text);
searchList.Add("Author", cmboBxAuthor.Text);
searchList.Add("Publisher", cmboBxPublisher.Text);
searchList.Add("Price", cmboBxPrice.Text);
DataTable searchResult = BLL.Search(searchList);
searchGridView.DataSource = searchList;
I에 의해 검색 할 열 이름의 사전과 가치를 만드는거야 그리고 나는 BL에에게 전달 :
나는 다음과 같은 코드가
public DataTable Search(Dictionary<string,string> SearchParams)
{
var itemType = SearchParams.FirstOrDefault(x => x.Key == "ItemType");
IQueryable query = SearchParams.AsQueryable();
}
이제 모든 키로부터 쿼리를 생성하려고합니다. & 다음 형식의 사전 값 :
키 == 값.
더 나은 방법으로 어떻게 할 수 있습니까? 이러한 유형의 작업에 사전을 사용해야합니까?
이 링크는 도움이 될 수 있습니다. [Dynamic LINQ] (http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query -library.aspx) –
덕분에, 내가 만든 클래스, 내가 만든 값을 전달했지만 결국이 주셔서 감사합니다! :) –
@yuvalos 문제를 해결 한 경우 해결 방법을 게시하고 동의하십시오. – emd