0

我的 Windows Phone 应用程序中有一个数据库。从表中我需要选择一些行。我需要在查询中应用多个 Where 条件。我该如何编写这样的查询?

我的表包含用户名、DocumentId、FileType、FileLocation、FileSize 等。

我需要使用用户名、DocumentId 和 FileType 选择行。如何为此编写查询?

现在我正在使用以下代码:

using (DocumentDataContext DocDb = new DocumentDataContext(strConnectionString))
{
    IQueryable<Document> DocQuery = from Doc in DocDb.Documents where Doc.UserName == txtName.Text select Doc;
    Document Docs= DocQuery.FirstOrDefault();
}

我可以使用此查询选择一个文档。我想选择所有满足条件的行。我可以在单个查询中执行此操作吗?

4

2 回答 2

2

当然可以。where您可以使用标准或/和关键字扩展您的条件:

from Doc in DocDb.Documents
where Doc.UserName == txtName.Text && dic.FileType == "some type" && Doc.UserName == "some name"
select Doc;

要获得多行使用ToList而不是FirstOrDefault. 它返回包含查询结果的元素列表:

var Docs= DocQuery.ToList();
于 2012-07-04T05:49:54.113 回答
0

我找到了解决方案。

为了选择多个文档并在“WHERE”子句中应用多个条件,我对代码进行了一些更改,如下所示

IList<Document> DocumentList = null;

using (DocumentDataContext DocDb = new DocumentDataContext(strConnectionString))
{
    IQueryable<Document> DocQuery = from Doc in DocDb.Documents where Doc.UserName == txtName.Text & Doc.DocumentId == docId & Doc.FileType == fileType select Doc;
    DocumentList = DocQuery.ToList();
}

在查询中,我首先使用“AND”在“WHERE”子句中添加更多条件。当我将“AND”更改为“&”时,它可以正常工作,并使用 IList<> 获取多条记录

于 2012-07-04T06:04:17.923 回答