我正在建立一個處理書籍和期刊的書庫。 我有一個winform,用戶輸入一些參數來搜索庫DB。我不知道他選擇插入哪個值。在linq搜索中過濾空值
例如:
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; }
}
這是我的基類。當用戶可以插入到按名稱搜索(這轉換成書名)。 用戶界面有許多選項可供搜索,並且基本上包括書中包含的幾乎所有字段。
我需要做的只是過濾掉用戶插入的字段,將它們傳遞給我的DAL,以便他可以在ENTITY框架映射數據庫上使用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;
}
問題是,即時通訊尋找一些值可能爲空。這樣一來,我的搜索總是能想出空:( 我不知道如何進行會喜歡一些幫助
感謝