'Unable to determine the serialization information when create index

I'm having problem when i create a index.

This is my code:

    private static IMongoCollection<IPageItem> GetCollection()
    {
        return Connection.Database.GetCollection<IPageItem>("SystemPages");
    }

    internal static IEnumerable<Task> CreateIndex()
    {
        BsonClassMap.RegisterClassMap<NewsItem>();

        var work = new List<Task>();
        var coll = GetCollection();

        var builder= Builders<IPageItem>.IndexKeys;
        var btIndexes = new List<CreateIndexModel<IPageItem>>
        {
            new(builder.Ascending(x => x.PageId), new CreateIndexOptions { Unique = true })
        };
        work.Add(coll.Indexes.CreateManyAsync(btIndexes));

        return work;
    }


    public interface IPageItem
    {
        public Guid PageId { get; set; }
    }

    public class NewsItem : IPageItem
    {
        public Guid PageId { get; set; }
        public string Summery { get; set; }
    }

When i call, CreateIndex() i receive, Unable to determine the serialization information for x => Convert(x.PageId, Object).) Can I not use one interface when create/get a collection?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source