我有一个动态创建的类。我动态创建此类的属性并为这些属性添加值。到目前为止没有问题。但是,当我创建此类的列表并使用“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();