ASP.NET GridFS 通过 Id 获取文件信息

问题描述 投票:0回答:0

我正在尝试从 GridFS 数据库中获取

GridFSFileInfo
,但我遇到了一个问题,即它在通过 id 查找时无法正常工作。

它在通过

IdAsBsonValue
找到时正在工作,这是我的一些代码:

var filter = Builders<GridFSFileInfo>.Filter.Eq(x => x.IdAsBsonValue, BsonValue.Create(ObjectId.Parse(id)));

using (var cursor = _bucket.Find(filter))
    {
        var fileInfo = cursor.ToList().FirstOrDefault();
        ...
    }

上面显示的代码工作正常但是

IdAsBsonValue
已经过时所以我只想使用
Id
.

当我将第一行更改为:

var filter = Builders<GridFSFileInfo>.Filter.Eq(x => x.Id, ObjectId.Parse(id));

连接到数据库时出现以下错误:“MongoDB.Driver.Linq.ExpressionNotSupportedException:不支持表达式:x.Id。”

GridFSFileInfo
中有一个名为
Id
的属性,之前显示的示例正在运行,所以我不知道那里出了什么问题..

很高兴有人分享解决方案:)

我正在使用 .NET 6.0

c# asp.net database .net-6.0 gridfs
© www.soinside.com 2019 - 2024. All rights reserved.