首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在DbRef中使用LiteDB

如何在DbRef中使用LiteDB
EN

Stack Overflow用户
提问于 2016-03-09 17:22:01
回答 1查看 3.6K关注 0票数 1

如何在DbRef中使用LiteDB。我有CustomerJob的类。我希望客户存储一个客户拥有的作业列表。

因此,在Customer类中,根据我所理解的情况,我需要一个DbRef<Job> Jobs。我有几个问题首先,DbRef不被识别为带有using LiteDB的类型。第二,我不知道如何实现。

Job.cs

代码语言:javascript
复制
namespace HMDCompare.Classes
{
  public class Job
  {
    public int id { get; set; }
    public string name { get; set; }
  }
}

Customer.cs

代码语言:javascript
复制
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中的DbRef:,类型或名称'DbRef‘无法找到

我正在使用C#/ASP.net 4.5和LiteDB 2.0.0-rc进行开发。

EN

回答 1

Stack Overflow用户

发布于 2016-07-16 23:43:56

使用LiteDB.2.0.0-rc并遵循测试页中的示例,对我来说效果很好。

代码语言:javascript
复制
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");
}

.

添加

代码语言:javascript
复制
var subFolder = new SubFolder()
{
    Name = file.Name,
    Folder = new Folder { Id = idFolder },
};

using (var db = new IncludeDatabase())
{                
    db.SubFolders.Insert(subFolder);
}

到达

代码语言:javascript
复制
using (var db = new IncludeDatabase())
{                
    return db.SubFolders
        .Include(x => x.Folder)
        .FindAll().ToList();
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35898365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档