目前,我有这个代码,它可以工作,得到一个 foodList:
var myDictionary = new System.Collections.Generic.Dictionary<string, object>();
myDictionary .Add("RefId",1);
myDictionary.Add("Type", "fruit");
var foodList = this.factoryService.GetMyService()
.GetByCriteria(sortOrder, NHibernate.Criterion.Restrictions.AllEq(myDictionary));
我想使用MultiValueDictionary来收集多个类型。
var multiValueDictionary = new System.Collections.Generic.MultiValueDictionary<string, object>();
multiValueDictionary.Add("RefId",1);
multiValueDictionary.Add("Type", "fruit");
multiValueDictionary.Add("Type", "vegetable");
multiValueDictionary.Add("Type", "fungus");
var foodList = this.factoryService.GetMyService()
.GetByCriteria(sortOrder, NHibernate.Criterion.Restrictions.AllEq(multiValueDictionary));
最后一行没有编译,因为 MultiValueDictionary 没有实现 IDictionary,给出了错误:
错误 CS1503 参数 1:无法从 'System.Collections.Generic.MultiValueDictionary' 转换为 'System.Collections.IDictionary'
我怎样才能做到这一点?