我正在使用 DataServiceContext 加载一些实体投影(实体有很多属性,为了最大限度地减少流量,我只加载目前需要的那些属性),如下所示:
from x in ctx.Portfolios
select new
{
Id = x.Id,
Name = x.Name,
PortfolioName = x.PortfolioName,
Description = x.Description,
ValidFrom = x.ValidFrom,
ValidUntil = x.ValidUntil
};
我需要的是实体的有效 URI 来加载它以获取详细信息视图。
我尝试使用 ctx.TryGetUri(obj, out uri),但它总是返回 null(可能是因为非跟踪投影,但是,我已经加载了 PK 属性(Id),所以它一定不是案子)。
问题是,我如何确定底层数据实体的 URI,有一个带有 PK 的投影对象?