根据条件从同一表中获取两个列值
本文关键字:两个 获取 条件 | 更新日期: 2023-09-27 18:06:31
我有两个表:
<>之前表product1有列:product_idprodcut_namecategory_id添加之前<>之前另一个表类别category_id添加category_namecategory_description之前我正在使用DataGridView
填充产品详细信息,并且工作正常。
我试图从同一表中获得两个列值取决于相同的条件,我已经得到下面的代码:
string desc = Convert.ToString(selectedRow.Cells["productdescr"].Value);
string productname = Convert.ToString(selectedRow.Cells["productnam"].Value);
string productprices = Convert.ToString(selectedRow.Cells["productprice"].Value);
int productids = Convert.ToInt32(selectedRow.Cells["productid"].Value);
条件1:
int categoryids = (from cats in tsg.product1
where cats.product_Name.Equals(productname)
select cats.category_Id).SingleOrDefault();
条件2:
var catogynames = (from categorytypes in tsg.categories
where categorytypes.category_Id.Equals(categoryids)
select categorytypes.category_Name
).SingleOrDefault();
条件3:
var categoprydecription = (from categorytable in tsg.categories
where categorytable.category_Id.Equals(categoryids)
select categorytable.category_Description
).SingleOrDefault();
我想从条件2中获得categorytypes.category_description
和categorytypes.category_Name
,是否有可能将这两个条件结合起来?(条件2和条件3)
我认为你可以这样做
(from categorytable in tsg.categories
where categorytable.category_Id == categoryids
select new {Name=categorytable.category_Name,
Description=categorytable.category_Description}).SingleOrDefault();
这将是一个匿名类,包含您想要的类别的名称和描述。