列表中的实体对象

时间:2014-08-01 12:25:37

标签: c# .net entity-framework list

我按照本教程设置上传/下载到/从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;)中,其中值来自会话中的列表。

有人可以帮忙吗?

1 个答案:

答案 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));