我有DB结构如下。
public class University
{
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public IList<College> Colleges { get; set; }
}
public class College
{
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
}
如您所见,一所大学可以拥有多所大学。 我正在添加数据如下
IList<College> lstColleges=new List<College>();
College clg1=new College(){
Name="Clg1",
Code="CLG1001"
};
College clg2=new College(){
Name="Clg2",
Code="CLG1002"
};
lstColleges.Add(clg1);
lstColleges.Add(clg2);
University unv=new University(){
Name="UNIV",
Code="UN101",
Colleges=lstColleges
};
var collections = mongoDatabase.GetCollection<University>("University");
collections.Insert(unv);
var id = student.unv;
正确地为大学生成Id,但是对于每个大学来说,它正在产生000000.
我想为每个大学生成不同的默认ID。
答案 0 :(得分:1)
仅自动分配顶级_id
嵌入式文档中的内容需要手动生成。
您可以在ctor中执行此操作:
public class College
{
public College
{
Id = ObjectId.GenerateNewId();
}
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
}