我正在接触Azure,特别是媒体服务。
我想收集我在Media Services中上传和编码的一个媒体项的详细信息,而无需从Azure下载整个AssetBaseCollection。
当我有1000个资产时,我担心这不是最好的方法,但目前这是我可以访问任何资产详情的唯一方式,如下所示。
var assetList = _context.Assets.ToList();
如果我尝试直接查询_context.Assets(单个,firstordefault),我会得到一个不受支持的异常。
如何从_context.Assets中只收集一个资产(IAsset)而不拉动整个集合并在列表上执行查询?
答案 0 :(得分: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 project处查看我的其余代码,我已经在Web应用程序中包含了几乎所有可以使用Media Service执行的操作。