私はc#の初心者であり、ライブラリ(Books and Journals)のコンテンツを保持するアプリケーションを構築しています。
UI、BLL、DALを使用して3層プログラムを構築しています。
私がやろうとしているのは、コンボボックスからテキストを取得し、それを(最終的には)DALでLinqtoSQLクエリに変換することです。ローカルデータベースを作成し、EntityFrameworkでマッピングしました。
私は次のコードを持っています:
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;
検索する列名と値を使用して辞書を作成し、それをBLに渡します。
public DataTable Search(Dictionary<string,string> SearchParams)
{
var itemType = SearchParams.FirstOrDefault(x => x.Key == "ItemType");
IQueryable query = SearchParams.AsQueryable();
}
今私がやろうとしているのは、辞書内のすべてのキーと値から次の形式でクエリを作成することです。
キー==値。
どうすればもっと良い方法でそれを行うことができますか?このタイプのアクションには辞書を使用する必要がありますか?