本と雑誌を扱う本のライブラリを構築しています。ユーザーがライブラリDBで検索するためにいくつかのパラメーターを入力するWinFormがあります。彼が挿入するために選択した値がわかりません。
例えば:
public abstract class Item : IComparer, IEnumerable
{
public string Name { get; set; }
public string Publisher { get; set; }
public double Price { get; set; }
public double Discount { get; set; }
public DateTime ReleaseDate { get; set; }
}
これが私の基本クラスです。ユーザーが名前で検索するために挿入できる場合(これは本の名前に変換されます)。UIには検索するための多くのオプションがあり、基本的に、本に含まれるほとんどすべてのフィールドが含まれています。
私がする必要があるのは、ユーザーが挿入したフィールドのみをフィルターで除外し、それらをDALに渡して、ENTITYフレームワークにマップされたDBでLINQクエリを使用して検索を実行できるようにすることです。
これはこれまでの私の検索です:
public List<Books> SelectBookFromDB(Item itemType)
{
BookVO book = itemType as BookVO;
var result = myEntities.Books.Where(x =>
x.Author == book.Author &&
x.Discount == book.Discount &&
x.Name == book.Name &&
x.Publisher == book.Publisher).ToList();
return result;
}
問題は、nullである可能性のあるいくつかの値を検索していることです。そうすれば、私の検索は常に空になります:(どのように進めるかわかりません。助けが必要です。
ありがとう!