У меня есть класс POCO, как показано ниже. Что это за IFooInterface? это интерфейс, который каждый объект, который хочет добавить в Cosmosdb, должен наследовать от этого. (Основная причина этого факта в том, что у нас есть другой тип результатов)
[CosmosCollection("foo")]
public class FooClass
{
[CosmosPartitionKey]
[JsonProperty("foo")] public string Foo{ get; set; }
[JsonProperty("id")] public string Id{ get; set; }
[JsonProperty("reportSet")] public IFooInterface FooResult { get; set; }
}
public interface IFooInterface {}
, и у меня есть репозиторий, который помогает вернуть эти результаты. Моя проблема в том, что в методе ниже я получил ошибку. Вот метод в репозитории
public async Task<IEnumerable<objectClass>> GetAsync(GetObjects query)
{
try
{
var testOne= await _reportStore
.Query(new FeedOptions { PartitionKey = new PartitionKey(query.foo) })
.ToListAsync();
return result;
}
catch (Exception e)
{
throw e;
}
}
И ошибка:
Message = "Не удалось создать экземпляр типа IFooInterface. Тип является интерфейсом или абстрактным классом и не может бытьэкземпляр «. StackTrace = "at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject (считыватель JsonReader, JsonObjectContract objectContract, контейнер-элемент JsonProperty, идентификатор контейнера JsonProperty, идентификатор строки, логический и созданный * 101 *
1011 \ n1 ...)Интересно, как я могу решить эту проблему? У кого-нибудь есть какие-либо предложения?