📅  最后修改于: 2023-12-03 15:14:46.948000             🧑  作者: Mango
DocumentDB SQL-Linq是一个针对Microsoft Azure DocumentDB的查询语言。它是一个基于C#语言的查询语言,允许您使用像Linq to Objects一样的语法对文档数据库进行查询。在执行查询时,DocumentDB会将LINQ输入翻译为SQL语句。因此,这个工作流称为“SQL-Linq到SQL查询”。
使用SQL-Linq的优点包括:
SQL-Linq支持大部分的Linq函数,包括:
使用SQL-Linq进行查询的主要步骤:
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using System.Linq;
// 定义客户端
DocumentClient client = new DocumentClient(
new Uri("https://{database_account}.documents.azure.com:443/"),
"{auth_key}");
// 连接指定的数据库
Database database = client.CreateDatabaseIfNotExistsAsync(
new Database { Id = "database-id" }).Result;
// 连接指定的集合
DocumentCollection collection = client.CreateDocumentCollectionIfNotExistsAsync(
UriFactory.CreateDatabaseUri("database-id"),
new DocumentCollection { Id = "my-collection" }).Result;
// 创建SQL查询
IQueryable<MyDocument> queryable = client.CreateDocumentQuery<MyDocument>(
UriFactory.CreateDocumentCollectionUri("database-id", "my-collection"),
new FeedOptions { MaxItemCount = -1 })
.Where(d => d.Name == "John");
// 执行查询
List<MyDocument> results = queryable.ToList();
DocumentDB SQL-Linq到SQL提供了简单,灵活的方法来查询Azure中的DocumentDB集合。它使用与C#类似的语法使得编码更易于阅读和编写。 由于它基于Linq语法,程序员们必须对C#语法有一定的了解。