Skip to content

[BUG] System.NotSupportedException: Member NodeId not found on BsonMapper for type #2732

@snltty

Description

@snltty

sometime work,sometime fail,not 100% fail

Version
5.0.21

Code

public interface INodeStoreBase
{
    public string NodeId { get; set; }
}
 public sealed class NodeStoreInfo :  INodeStoreBase
 {
     public string NodeId { get; set; }
 }

public class NodeStore<TStore> where TStore : class, INodeStoreBase, new()
{
    private readonly ILiteCollection<TStore> liteCollection;
    public NodeStore()
    {
        liteCollection = database.GetCollection<TStore>("store_name");
    }
    public TStore GetByNodeId(string nodeId)
    {
       return liteCollection.FindOne(c => c.NodeId == nodeId);
    }
}

var store = NodeStore<NodeStoreInfo>();
NodeStoreInfo info = store.GetByNodeId("test");

Error Message

System.NotSupportedException: Member NodeId not found on BsonMapper for type INodeStoreBase.
   at LiteDB.LinqExpressionVisitor.ResolveMember(MemberInfo member)
   at LiteDB.LinqExpressionVisitor.VisitMember(MemberExpression node)
   at System.Linq.Expressions.MemberExpression.Accept(ExpressionVisitor)
   at System.Linq.Expressions.ExpressionVisitor.Visit(Expression)
   at LiteDB.LinqExpressionVisitor.VisitAsPredicate(Expression expr, Boolean ensurePredicate)
   at LiteDB.LinqExpressionVisitor.VisitBinary(BinaryExpression node)
   at System.Linq.Expressions.BinaryExpression.Accept(ExpressionVisitor)
   at System.Linq.Expressions.ExpressionVisitor.Visit(Expression)
   at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression`1)
   at LiteDB.LinqExpressionVisitor.VisitLambda[T](Expression`1 node)
   at System.Linq.Expressions.Expression`1.Accept(ExpressionVisitor)
   at System.Linq.Expressions.ExpressionVisitor.Visit(Expression)
   at LiteDB.LinqExpressionVisitor.Resolve(Boolean predicate)
   at LiteDB.BsonMapper.GetExpression[T,K](Expression`1 predicate)
   at LiteDB.LiteCollection`1.FindOne(Expression`1 predicate)
   at NodeStore`2.GetByNodeId(String nodeId)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions