0

我开始掌握 Azure,特别是媒体服务。

我想收集我在媒体服务中上传和编码的一个媒体项目的详细信息,而无需从 Azure 下载整个 AssetBaseCollection。

当我有 1000 个资产时,我担心这不是最好的方法,但目前这是我可以访问任何资产详细信息的唯一方法,如下所示。

var assetList = _context.Assets.ToList();

如果我尝试直接查询 _context.Assets(单个、第一个或默认),我会得到一个不受支持的异常。

如何从 _context.Assets 仅收集一项资产 (IAsset) 而无需拉取整个集合并在列表上执行查询?

4

1 回答 1

0

您可以查询资产,但您必须先使用.Where(predicate bool),然后使用.FirstOrDefault

以下代码只会让您获得一项资产,而不会将所有资产都放入列表中:

 public IAsset GetAssetById(string assetId)
        {
            var asset = _context.Assets.Where(x => x.Id.Equals(assetId)).FirstOrDefault();

            if (null == asset)
            {
                return null;
            }
            return asset;
        }

您可以在WaMediaWeb 项目中查看我的其余代码,我在 Web 应用程序中封装了几乎所有您可以使用媒体服务执行的操作。

于 2013-04-19T12:44:19.493 回答