我有这3张桌子
tblDocument(DocId, DocName)
tblSubPerson(DocId, PersonId)
tblPerson(PersonId, PersonName)
ddlPerson让我的所有人都参与其中。
我正在尝试编写一个linq查询,其中我想返回所选文档与所选人员有关系的所有文档并在翻译器中显示
到目前为止....不知道我做错了
public void testing()
{
string se = ddlPerson.SelectedValue;
var data = new MyModelContext();
rptResult.DataSource = from y in data.tblDocuments
join p in data.tblSubPersons on y.DocId equals p.DocId
select p.PersonId.Equals(se);
rptResult.DataBind();
}
答案 0 :(得分:4)
您的查询返回bool
值的集合,因为这是Equals()
方法返回的内容。您应该使用where
子句仅获取给定人员的文档:
var personId = int.Parse(ddlPerson.SelectedValue);
var data = new MyModelContext();
var documents = from d in data.tblDocumenta
join sp in data.tblSubPerson on d.DocId equals sp.DocId
where sp.PersonId == personId
select d;
rptResult.DataSource = documents.ToList();
rptResult.DataBind();