我有以下代码,
var applications = from a in applications1.Entities.ToList()
select new
{
name = a.Attributes["sia_name"].ToString(),
applicationId = a.Attributes["sia_applicationid"].ToString(),
isDraftMode = a.Attributes.Contains("sia_applicationmode") ? a.FormattedValues["sia_applicationmode"].ToString().ToLower() == "draft" ? true : false : false
};
在这段代码中,我有包含name,applicationid和isdraftmode的应用程序, 现在我想从var应用程序中获取applicationid,以便我可以将它传递给会话
怎么能成为
Session["ApplicationID"]=applications
答案 0 :(得分:0)
就像
一样Session["ApplicationID"]=applications.Select(m => m.applicationId).First();
它会给你第一个applicationId。如果你想根据条件选择applicationId,你可以像
那样做Session["ApplicationID"]=applications.Select(m => m.applicationId).First(x => x.property == condition);
并且对于所有applicationid都喜欢
Session["ApplicationID"]=applications.Select(m => m.applicationId).ToList();
答案 1 :(得分:0)
所以你有一个查询,它选择匿名类型中的多个属性,你需要从中选择一个特定的属性来将它写入会话?
Session["ApplicationID"] = applications
.Select(x => x.applicationId)
.ToList(); // i would "materialize" it in a collection to avoid side effect due to lazy evaluation
或者您是否希望从中获取特定项目,例如通过sia_name
?
var sia = applications.FirstOrDefault(x => x.sia_name == "InsertName");
if(sia != null)
Session["ApplicationID"] = sia.applicationId;