0
我正在编写一个处理数据表结构分页的查询插件,并为了尽可能保持维护尽可能简洁,我通过名称插件中的模型,并通过给定的模型名称进行查询。如何将字符串转换为MongoDB查询的类型
问题是,Mongo驱动程序要求查询的集合的类型不是字符串的名称。我相信我已经取得了良好的进展,在经过类型时使用反射但得到的类型中我得到一个错误的类型(t
)无法访问:
public ActionResult ListTablePartial(string modelName, int pageAmount)
{
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{
IEnumerable<Type> types = from x in assembly.GetTypes() select x;
foreach (var t in types)
{
if (t.Name == modelName)
{
var data = _dataService.GetCollectionQueryModel<t>(
Query.And(
Query.EQ("IsActive", true),
Query.GTE("CreateDate", DateTime.Now.AddDays(-7)),
Query.LTE("CreateDate", DateTime.Now.AddHours(23))))
.OrderByDescending(c => c.CreateDate);
}
}
}
}
的错误是在这里:_dataService.GetCollectionQueryModel<t>
cannot resolve symbol t
但绝对是一种类型,任何想法?
't'是不是一个类型,它是一个对象(类型System.Type),持有关于类型的信息。你不能使用t作为泛型类型参数。 – helb 2014-10-29 15:18:03