我正在使用Nest。
https://www.nuget.org/packages/NEST/6.1.0
我有以下代码:
useSubject
问题:如何将字段作为ID传递?我知道我可以创建一个接口,但是我无法访问这些类。还有另一种映射方式吗?
答案 0 :(得分:2)
T
是通用的,如果要使用特定的属性,则需要使用非通用方法或添加为您提供Id
属性的约束。例如,具有这样的界面:
public interface IHasId
{
Guid id { get; }
}
这使您的模型看起来像这样:
public class foo : IHasId
{
public Guid id { get; set; }
}
public class foo2 : IHasId
{
public Guid id { get; set; }
}
现在您的方法将具有更新的约束:
public IReadOnlyCollection<T> GetDocumentAsync<T>(Guid id)
where T : class, IHasId // <--- Add this
{
// Snip
}