我的Windows手机应用中有一个数据库。从表中我需要选择一些行。我需要在查询中应用多个Where条件。我怎么写这样的查询?
我的表包含Username,DocumentId,FileType,FileLocation,FileSize等。
我需要使用Username,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();
}
我可以使用此查询选择一个文档。我想选择满足条件的所有行。我可以在一个查询中执行此操作吗?
答案 0 :(得分: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();
答案 1 :(得分: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”改为“&amp;”时它工作正常,并使用IList&lt;&gt;获得多个记录