Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MongoDB的简单WHERE子句_C#_Mongodb_Mongodb .net Driver - Fatal编程技术网

C# MongoDB的简单WHERE子句

C# MongoDB的简单WHERE子句,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,我刚开始使用MongoDB,有一个简单的查询引发了一个异常: public static List<WorkflowItem> GetBySubId(string subId) { var query = Query<WorkflowItem>.EQ(x => x.SubId, subId); return MongoDbHelper.Db.GetCollection<WorkflowItem>("workflowItems").Find

我刚开始使用MongoDB,有一个简单的查询引发了一个异常:

public static List<WorkflowItem> GetBySubId(string subId)
{
    var query = Query<WorkflowItem>.EQ(x => x.SubId, subId);
    return MongoDbHelper.Db.GetCollection<WorkflowItem>("workflowItems").Find(query).ToList();
}
公共静态列表GetBySubId(字符串subId)
{
var query=query.EQ(x=>x.SubId,SubId);
返回MongoDbHelper.Db.GetCollection(“workflowItems”).Find(query.ToList();
}
例外情况:

元素“\u id”与类的任何字段或属性都不匹配 SplitLineCommon.Documents.WorkflowItem


为什么会这样?MongoDB在哪里获得“_id”?我只是用错误的方法编写了一个简单的WHERE子句吗?

\u id
是每个mongoDB文档的主键。如果在插入文档时不提供ObjectID,通常mongodb驱动程序将生成ObjectID(12字节二进制,24个字符十六进制)。我可以发誓我读到我的文档需要一个
Id
属性。啊。。。但就是这样,我甚至没有那样做。让我试试……这很有效。我必须先删除所有文档,因为我的新Id属性是字符串,而自动生成的Id是ObjectId。谢谢不客气。并且:您可以将字符串作为id。但它必须是唯一的,并且必须具有名称
\u id
。如果是这样,为什么在我命名属性
id
时它会起作用?我没有任何名为
\u id
的字段/属性。