本文介绍了如何加入LiteDb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何像SQL一样在LiteDb中的两个表之间联接示例:我有两个表User和ActivityLog
How can i join between two table in LiteDb Like SQL Example : I Have Two table User and ActivityLog
这是模型
public class ActivityLog
{
[BsonId]
public int Id { get; set; }
public string UserId { get; set; }
public string Action { get; set; }
public DateTime ActionDateTime { get; set; }
}
public class User
{
[BsonId]
public int Id { get; set; }
public string UserId { get; set; }
public string UserName { get; set; }
public DateTime LoginDate { get; set; }
}
我需要加入Activity.UserID = User.UserId.有没有办法像sql一样
I need to join Activity.UserID = User.UserId.Is there any way to join like sql
推荐答案
来自官方文档
就您而言,您可以做类似的事情
In your case, you can do smth like
public class ActivityLog
{
[BsonId]
public int Id { get; set; }
public DbRef<User> User { get; set; }
public string Action { get; set; }
public DateTime ActionDateTime { get; set; }
}
public class User
{
[BsonId]
public int Id { get; set; }
public string UserId { get; set; }
public string UserName { get; set; }
public DateTime LoginDate { get; set; }
}
//usage
// Getting user and activityLog collections
var usersCollection = db.GetCollection<User>("Users");
var activityLogsCollection = db.GetCollection<ActivityLog>("ActivityLogs");
// Creating a new User instance
var user = new User { UserId = 5, ...};
usersCollection.Insert(user);
// Create a instance of ActivityLog and reference to User John
var activityLog = new ActivityLog
{
OrderNumber = 1,
OrderDate = DateTime.Now,
//Add it by DbRef
User = new DbRef<User>(usersCollection, user.UserId)
};
activityLogsCollection.Insert(activityLog)
有关更多详细信息,请参阅文档.
See the documentation for more details.
这篇关于如何加入LiteDb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!