Как привести к интерфейсу коллекцию в MongoDb?

Рейтинг: 0Ответов: 0Опубликовано: 09.02.2023

Столкнулся с проблемой, что нельзя привести к одному интерфейсу данные. К примеру, у нас есть какой-то интерфейс:

public interface IProduct{}

От него наследуются классы:

public class ProductA : IProduct{}

public class ProductA : IProduct{}

Так же у нас есть DataContext:

public class DataContext
{
    private MongoClient _client;
    private IMongoDatabase _context;

    public DataContext()
    {
    
        _client = new MongoClient("mongodb://localhost:27017");
        
        _context = _client.GetDatabase("Product");

        Product = _context.GetCollection<IProduct>("Products");
   

        
    }


    public IMongoCollection<IProduct> Product{ get; set; }

Если я сделаю ProductA, а потом попробую взаимодействовать с ним:

DataContext _context = new DataContext();
 _context.SetSetting.InsertOne(new ProductA);

Собственно, у меня этот пример не будет работать, ибо MongoDb, как я понял, не умеет работать с интерфейсами. Как это можно устранить на данном примере?

Ответы

Ответов пока нет.