我正在建立一个处理书籍和期刊的图书馆。我有一个 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,以便他可以使用 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;
}
问题是,我正在搜索一些可能为空的值。这样,我的搜索总是空的:(我不知道如何继续。希望得到一些帮助。
谢谢!