2017-03-09 80 views
0

我有一个文档上传系统,用户可以在其中添加Distributees。这些人有权查看这些文件。我很难将这些共享文件显示给发行者。 目前它发现用户已登录,查找分发者共享(distributees模型将用户和ID保存到其中),然后使用它搜索包含找到的发行者的文档(myshared)。根据另一个列表的结果查找列表

但是我得到的错误"Operator "==" cannot be applied to the type of int and list"

// GET: DocumentUps 
public ActionResult DocumentsShared() 
{ 
    string currentUser = this.User.Identity.GetUserName(); 

    var myshared = db.Distributees.Where(a => a.UserIdSaved == currentUser).ToList(); 

    var mydocs = db.DocumentUps.Where(a => a.DocumentId == myshared).ToList(); 


    return View(mydocs); 
} 

什么即时试图做的是

找到发者的登录用户与受发

查找文档

+0

既然你给我们介绍一下你的表格,数据,并且您已经尝试了所有我能说的是什么信息0 - 似乎是一个MySQL的子查询。祝你好运。 – user3741598

+0

根据错误,您试图将一个整数与一个列表进行比较:'a.DocumentId == myshared'。你不可以做这个。这个不成立 –

回答

0

所有你需要的是一个简单的连接een distributees和documentUps。

或者是这样的:

var myshared = db.Distributees.Where(a => a.UserIdSaved == currentUser).Select(x => x.DocId); 

var mydocs = db.DocumentUps.Where(a => myshared.Contains(a.DocumentId)).ToList(); 
相关问题