我有一个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
{
s.Product_ID
};
这是拉动Product_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?谢谢!
答案 0 :(得分:5)
问题是你的第一个查询返回一个带有整数属性的对象集合,而不是一个整数。您可以将查询更改为:
var tr = (
from s in dt.PlanMasters
where s.PlanName == productName
select s.Product_ID).First();
或者,更清洁,IMO:
var tr = dt.PlanMasters.First(s => s.PlanName == productName).Product_ID;
答案 1 :(得分:3)
tr
是一个集合。您必须致电tr.FirstOrDefault().Product_ID
。
答案 2 :(得分:1)
我会更改你的linq查询,只选择s.Product_ID
而不是select new
包含ID的新匿名对象。
var tr = from s in dt.PlanMasters
where s.PlanName == productName
select s.Product_ID;
您的第二个代码块可能只是ev.Product_ID = tr.First();
CommissionsV2DataContext cv = new CommissionsV2DataContext();
Entity_Product_Point ev = new Entity_Product_Point();
ev.Entity_ID = getEntity;
ev.Product_ID = tr.First();
答案 3 :(得分:0)
ev.Product_ID = tr.First()。Product_ID;