尝试通过 client.CreateDocumentQuery 通过 MVC 应用程序从 CosmosDb 获取对象
Trying to get object from CosmosDb via MVC app via client.CreateDocumentQuery
第一次尝试访问 Cosmos db。
所有这些都在解决方案的 DAL 项目层(n 层)中。
EndPointURI 和 PrimaryKey 和 DBName 由 class 构造函数设置。
我执行client.CreateDocumentQuery
但没有看到预期的转换为函数的输出参数,即“用户”。
我只看到生成的查询字符串。
我的代码基于 this
public void GetUserByEmail(string email, out IQueryable<Shared.User> user)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 };
user = null;
try
{
user = this.client.CreateDocumentQuery<Shared.User>(
UriFactory.CreateDocumentCollectionUri(DBName, "Users"), queryOptions)
.Where(f => f.Email == email);
}
catch (Exception ex)
{
}
}
如果尝试 ReadDocumentAsync,我得到以下信息
试试这个,你需要return第一项
var response = this.client.CreateDocumentQuery<eUser>( UriFactory.CreateDocumentCollectionUri("demo", "Users"), queryOptions)
.Where(f => f.Email == email).AsEnumerable().ToArray().FirstOrDefault();
第一次尝试访问 Cosmos db。
所有这些都在解决方案的 DAL 项目层(n 层)中。 EndPointURI 和 PrimaryKey 和 DBName 由 class 构造函数设置。
我执行client.CreateDocumentQuery
但没有看到预期的转换为函数的输出参数,即“用户”。 我只看到生成的查询字符串。
我的代码基于 this
public void GetUserByEmail(string email, out IQueryable<Shared.User> user)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 };
user = null;
try
{
user = this.client.CreateDocumentQuery<Shared.User>(
UriFactory.CreateDocumentCollectionUri(DBName, "Users"), queryOptions)
.Where(f => f.Email == email);
}
catch (Exception ex)
{
}
}
如果尝试 ReadDocumentAsync,我得到以下信息
试试这个,你需要return第一项
var response = this.client.CreateDocumentQuery<eUser>( UriFactory.CreateDocumentCollectionUri("demo", "Users"), queryOptions)
.Where(f => f.Email == email).AsEnumerable().ToArray().FirstOrDefault();