LiteDB 插入或检索 master 的详细信息列表

Posted

技术标签:

【中文标题】LiteDB 插入或检索 master 的详细信息列表【英文标题】:LiteDB insert or retrieve master's details List 【发布时间】:2019-05-06 06:46:34 【问题描述】:

我们如何使用 LiteDB (LiteDatabase) C#.net 库从下面表示的Detail 属性中插入或检索主人的详细信息?

class myEntityMaster
        public int ID get;set;
        public string Name get;set;
        public List<myEntityDetail> Detail get;set; // this is the variable I want to valorize


class myEntityDetail
    public int ID get;set;
    public int MasterID get;set;
    public string Description get;set;

请注意,我尝试执行 myEntityMasterLiteDatabase.Insert()Detail 属性填充项目,但是当我调用任何 LiteDatabase.Find 函数时,Detail 属性将为空。

【问题讨论】:

【参考方案1】:

您可以使用BsonRef 来执行此操作。

或 BsonMapper

public class Product

    public int ProductId  get; set; 
    public string Name  get; set; 
    public decimal Price  get; set; 


public class Order

    public int OrderId  get; set; 
    public DateTime OrderDate  get; set; 
    public List<Product> Products  get; set; 


BsonMapper.Global.Entity<Order>()
    .DbRef(x => x.Products, "products");

用法

db.Query<Order>()
    .Include(x => x.Customer)
    .Include(x => x.Products)
    .ToList();

【讨论】:

以上是关于LiteDB 插入或检索 master 的详细信息列表的主要内容,如果未能解决你的问题,请参考以下文章

C# 使用 SqlDataReader 从 SQL Server 检索数据到主详细信息列表

Ruby gem,用于通过信息哈希检索种子的详细信息/信息

使用 C# 开发的轻量级开源数据库 LiteDB

LiteDB源码解析系列LiteDB介绍

2022年10月 LiteDB数据库-.Net Core中的使用

Xamarin.Forms中使用LiteDB分页