如何在LiteDB中使用DbRef。我有Customer
和Job
的课程。我希望客户存储客户的工作列表。
所以在Customer课程中,我需要根据我的理解获得DbRef<Job> Jobs
。我有几个问题。首先,DbRef不会被识别为using LiteDB
的类型。其次,我不知道如何实现它
Job.cs
namespace HMDCompare.Classes
{
public class Job
{
public int id { get; set; }
public string name { get; set; }
}
}
Customer.cs
using LiteDB;
namespace HMDCompare.Classes
{
public class Customer
{
[BsonId]
public int Id { get; set; }
public string Name { get; set; }
public string[] Phones { get; set; }
public bool IsActive { get; set; }
public DbRef<Job> Jobs { get; set; }
}
}
我在Visual Studio中获得的DbRef:类型或命名空间名称&#39; DbRef&#39;无法找到。
我正在使用C#/ ASP.net 4.5和LiteDB 2.0.0-rc
进行开发答案 0 :(得分:0)
使用LiteDB.2.0.0-rc并按照test page中的示例,对我工作正常。
z
.....
添加
public IncludeDatabase() : base("mydb.db")
{
}
public LiteCollection<Folder> Folders { get { return this.GetCollection<Folder>("Folders"); } }
public LiteCollection<SubFolders> SubFolders { get { return this.GetCollection<Media>("SubFolders"); } }
protected override void OnModelCreating(BsonMapper mapper)
{
mapper.Entity<SubFolder>()
.DbRef(x => x.Folder, "Folders");
}
获取
var subFolder = new SubFolder()
{
Name = file.Name,
Folder = new Folder { Id = idFolder },
};
using (var db = new IncludeDatabase())
{
db.SubFolders.Insert(subFolder);
}