的计划:
所以,现在我基本上要的是把我的propertys了之类的,让用户选择一些再拉只有那些propertys一个列表的MongoDB。
的代码:
这里是该方法开始,其中:
private void DoStuffExecute(object obj)
{
Class class= new Class();
ExtractClass(class);
if (propList != null)
{
var result = classService.DoStuff(propList);
}
}
在
“ExtractClass()” 的Propertys被拉出类。
void ExtractClass(object obj)
{
foreach (var item in obj.GetType().GetProperties())
{
propList.Add(item.Name);
}
}
最后在“classService.DoStuff()”我尝试设置“字段”。
public List<class> DoStuff(List<string> Props)
{
try
{
var filter = Builders<class>.Filter.Empty;
var fields = Builders<class>.Projection.Include(x => x.ID);
foreach (var item in Props)
{
string str = "x.";
str += item.ToString();
fields = Builders<class>.Projection.Include(x => str);
fields = Builders<class>.Projection.Include(x => item);
}
var result = MongoConnectionHandler.MongoCollection.Find(filter).Project<class>(fields).ToList();
return result;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
var result = new List<class>();
return result;
}
}
当我运行它给了我一个PROGRAMM“无法确定X =>值的序列化信息”给它一个字符串...因为即时通讯。
问题: 有没有人有一个想法如何修复上面的代码,甚至使另外一种方式工作?
谢谢。