微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DynamicClass 和 DynamicLinq.Core

如何解决DynamicClass 和 DynamicLinq.Core

我有一个动态创建的类。我动态创建此类的属性并为这些属性添加值。到目前为止没有问题。但是,当我创建此类的列表并使用“Microsoft.EntityFrameworkCore.DynamicLinq”进行查询时,出现错误。如何创建动态类并使用“Microsoft.EntityFrameworkCore.DynamicLinq”查询此类类型的列表?这样做的最佳方法是什么?

我在下面分享一个类似的代码。此代码给出错误。你能指导我吗?或者,如果有您可以分享的示例,我会很高兴。

错误system.invalidOperationException:'未为类型'System.Object'和'system.int32'定义二元运算符GreaterThan。'

        List<Dynamicclass> schemas = new List<Dynamicclass>();

        foreach (var item in Enumerable.Range(1,100))
        {
            Type schemaType = null;
            var props = new List<DynamicProperty>();

            props.Add(new DynamicProperty("Id",typeof(long)));
            props.Add(new DynamicProperty("Name",typeof(string)));
            props.Add(new DynamicProperty("Birthday",typeof(DateTime)));
            props.Add(new DynamicProperty("Age",typeof(int)));

            Dynamicclass schemaClass = null;
            schemaType = DynamicclassFactory.CreateType(props);
            schemaClass = Activator.CreateInstance(schemaType) as Dynamicclass;

            schemaClass.SetDynamicPropertyValue("Id",item);
            schemaClass.SetDynamicPropertyValue("Name","Serkan");
            schemaClass.SetDynamicPropertyValue("Birthday",DateTime.Now.AddDays(item));
            schemaClass.SetDynamicPropertyValue("Age",DateTime.Now.Day + item);

            schemas.Add(schemaClass);
        }

        var query = schemas.AsQueryable().Where("(Id > @0 and Id < @1) or Id == @2",10,30,31).OrderBy("Id"); // I'm getting the error I mentioned here
        var results = query.ToList();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。