C# 将LINQ查询对象存储为整数
我有一个LINQ2SQL查询:C# 将LINQ查询对象存储为整数,c#,asp.net,linq,linq-to-sql,C#,Asp.net,Linq,Linq To Sql,我有一个LINQ2SQL查询: //Pulling the Product_ID from the PlanMaster Table from WebEnroll DB! var tr = from s in dt.PlanMasters where s.PlanName == productName select new
//Pulling the Product_ID from the PlanMaster Table from WebEnroll DB!
var tr = from s in dt.PlanMasters
where s.PlanName == productName
select new
{
s.Product_ID
};
这是一个工作正常的产品ID。现在我想在另一个LINQ语句中添加一条记录,如下所示:
CommissionsV2DataContext cv = new CommissionsV2DataContext();
Entity_Product_Point ev = new Entity_Product_Point();
ev.Entity_ID = getEntity;
ev.Product_ID = tr.; ?????
我想存储从tr得到的变量,即Product_ID到ev.Product_ID
如何将对象转换为INT?谢谢大家! tr是一个集合。您必须调用tr.FirstOrDefault.Product\u ID。我会将linq查询更改为仅选择s.Product\u ID,而不是选择新建包含该ID的新匿名对象
var tr = from s in dt.PlanMasters
where s.PlanName == productName
select s.Product_ID;
然后,您的第二个代码块可以是ev.Product_ID=tr.First
问题是,第一个查询返回的对象集合具有整数属性,而不是单个整数。您可以将查询改为:
var tr = (
from s in dt.PlanMasters
where s.PlanName == productName
select s.Product_ID).First();
或者更明确地说,国际海事组织:
var tr = dt.PlanMasters.First(s => s.PlanName == productName).Product_ID;
ev.Product\U ID=tr.First.Product\U ID 我相信第二个仍然需要给SelectNope打电话。First可以接受一个委托,以便返回计算结果为true的第一条记录。这不起作用-tr是一个IQueryable而不是一个数字-您必须使用,即tr。Single假设只有一个-否则查询有缺陷。或tr。First。。。我猜我没有刷新页面-第一个版本中没有
var tr = dt.PlanMasters.First(s => s.PlanName == productName).Product_ID;