编辑 - 所以我试图查询的字符串中有一个/ n。我爱电脑。
我需要根据类别名称获取类别中的产品。如果我使用类别ID,它可以工作......
from r in db.products
from pc in r.productcategories
where pc.categories.categoryid == n
select r
但这不是
from r in db.products
from pc in r.productcategories
where pc.categories.categoryname == n
select r
我也试过包含......
from r in db.products
from pc in r.productcategories
where pc.categories.categoryname.Contains(n)
select r
没有错误,但没有返回任何行,而在使用id时会返回行。
答案 0 :(得分:1)
您需要在where子句中进行字符串比较,现在您的n
可能具有id值,因此请确保您的n
变量具有字符串值
string n = "categoryname"
from r in db.products
from pc in r.productcategories
where pc.categories.categoryname == n
select r
第二种可能的情况是您的产品类别将是值集合
答案 1 :(得分:1)
from r in db.products
from pc in r.productcategories
where pc.categories.categoryname.Contains(n) || n.Contains(pc.categories.categoryname)
select r
尝试一下,可能n
包含一些额外的字符,如空格或标签
答案 2 :(得分:0)
如果n是整数ID& CategoryName是字符串然后你正在比较错误的东西。