我按照本教程设置上传/下载到/从sql数据库。 http://dotnetawesome.blogspot.co.uk/2013/11/how-to-upload-and-download-files-tofrom.html
它运作得很好。但我想修改populate方法,以便它只填充fileid存在于我已经存储在会话状态的列表中的文件。
问题是我环顾四周,我无法理解lambda表达式或知道如何做到这一点。
基本上,我在会话中保留了一个fileID列表(在首页加载时更新),因此它只显示为该表单提交上传的文件。 (它是一个索赔表)
using (Portal_Entities dc = new Portal_Entities()) {
List<WEBSITE_ATTACHMENTS> allFiles = dc.WEBSITE_ATTACHMENTS.ToList()
rptAttachments.DataSource = allFiles;
rptAttachments.DataBind();
}
我猜我需要在.ToList上放一个.Where或.Select,但我不确定。
就像我需要一个sql类型的语句,其中的字段在(&#39; value&#39;,&#39; value&#39;)中,其中值来自会话中的列表。
有人可以帮忙吗?
答案 0 :(得分:0)
你可以尝试这个:
// Get the list of ints called fileIDs that you have stored in session.
List<int> ids = (List<int>)Session["fileIDs"];
// Declare an enumeration in which only the WEBSITE_ATTACHMENTS
// with an in contained in ids, will be contained.
List<WEBSITE_ATTACHMENTS> allFiles = dc.WEBSITE_ATTACHMENTS
.Where(x=>ids.Contains(x.fileId));