我正在尝试将我的类的Id属性设置为另外两个属性的组合:
public class Student
{
public string Id {get;set;}
public Guid StudentNumber {get;set;]
public string SchoolId {get;set;}
}
当我保存时,我希望StudentNumber和SchoolId成为对象的ID。
怎么做?
答案 0 :(得分:5)
查看IdGenerator
类,从两个属性中自定义创建一个id。
http://docs.mongodb.org/ecosystem/tutorial/serialize-documents-with-the-csharp-driver/
您需要创建一个实现IdGenerator
接口(docs)的新IIdGenerator
类。有两种简单的方法可以实现。
请注意,保存后文档的_id
无法更改。您需要将其重新保存为新文档。因此,如果SchoolId
属性发生更改,则可能需要重新创建文档。
此外,您可以考虑为这两个字段创建复合索引,并将_id
保留为ObjectId
。