我的数据库由两个模型组成:产品和类别。 类别模型本身由父类和子类组成,就像一个特定的“ParentID”字段相互关联。 Parent to Children类别的关系是一对多关系。孩子可以是从零到'n'的任何数字。 与产品的关系类别(或子类别)是一对多关系,类别ID是产品表格中的FK。搜索产品,类别和子类别中的字符串
我开始写作中产品的名称和描述和类别名称搜索:
IQueryable<Product> products =
from p in db.Products
where (p.Name.Contains(searchString)
|| p.Description.Contains(searchString)
|| p.Category.Name.Contains(searchString))
select p;
由于形式允许用户从一个DDL特定的类别,如果类别已被选中,我需要现在我的查询扩展到其子类别如下:
寻找搜索字符串的儿童类的名字太
个滤波结果对所属类别和子类别只
添加新项目之前的结果
我怎么到内儿童的类别名称周期,以满足点1.2.3,加入需要结果以前选择?
添加机型(仅适用领域):
public partial class Product
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int CategoryID { get; set; }
}
public partial class Category
{
public int ID { get; set; }
public string Name { get; set; }
public int? ParentID { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
试图更好地解释它。鉴于:
- 搜索字符串(不搜索字符串返回的所有产品)
- 选定父类别(可选,没有选择返回所有类别)
我想去的地方检索所有产品:
CASE 'A':选择
- 产品的名称的父类中包含搜索串
- 所有类别包含搜索字符串
CASE“B”:选择
- 产品的名称中包含关于选定父类以及搜索字符串(只有那些产品 父类的 如果有的话)
- 选定的父类别名称包含搜索字符串
- 选择父类别的子类别(i F所列)名称中包含搜索字符串
请问您可以添加定义'产品'和'类别'关系到您的问题的代码? 'Product'和'Category'之间是否有一对一的关系?听起来有点反直觉,一个'Category'只有一个'Product' ... – wkl
你确实是对的。我编辑了关系,这是每个类别的许多产品。 – Luke