LiteDB 对不同的条目使用相同的 ID
LiteDB use same ID for different entries
我有一个数据库,我试图在其中添加消息,我使用 channelID 作为 LiteDB id。我想以某种方式在同一频道中 post 多于 1 条消息,但为此我将不得不以某种方式使用相同的 ID。
private LiteDatabase Database { get; } = new LiteDatabase(@"data/msg.db");
public ILiteCollection<Message> Messages { get { return Database.GetCollection<Message>("Messages"); } }
public void Add(int channelid, Message message)
{
message.ChannelID = channelid;
Messages.Insert(message);
//Books.Add(book.Id,book);
}
留言class
public class Message
{
[LiteDB.BsonId]
public int ChannelID { get; set; }
public int User { get; set; }
public DateTime Date { get; set; }
public string Text { get; set; }
}
这是我要复制的API:http://www.webservies.be/chat/swagger/index.html
在这里,当我想 POST 一条消息时,可以使用相同的 channelID。
如果您希望您的 class 与您发布的 API 匹配,您将需要一个额外的 Channel
class 与Message
。一个聊天频道可以有很多消息吧?
类似
public class Channel
{
[BsonId]
public int ChannelId { get; set; }
public string Name { get; set; }
[BsonRef]
public List<Message> Messages { get; set; }
}
public class Message
{
[BsonId]
public int MessageId { get; set; }
public int ChannelId { get; set; }
public int UserId { get; set; }
public DateTime Date { get; set; }
public string Text { get; set; }
}
插入新消息与您已经完成的操作非常相似。
public void Add(int channelId, string text, int userId)
{
var message = new Message {
ChannelId = channelId,
Text = text,
UserId = userId,
Date = DateTime.Now
};
Messages.Insert(message);
}
我有一个数据库,我试图在其中添加消息,我使用 channelID 作为 LiteDB id。我想以某种方式在同一频道中 post 多于 1 条消息,但为此我将不得不以某种方式使用相同的 ID。
private LiteDatabase Database { get; } = new LiteDatabase(@"data/msg.db");
public ILiteCollection<Message> Messages { get { return Database.GetCollection<Message>("Messages"); } }
public void Add(int channelid, Message message)
{
message.ChannelID = channelid;
Messages.Insert(message);
//Books.Add(book.Id,book);
}
留言class
public class Message
{
[LiteDB.BsonId]
public int ChannelID { get; set; }
public int User { get; set; }
public DateTime Date { get; set; }
public string Text { get; set; }
}
这是我要复制的API:http://www.webservies.be/chat/swagger/index.html 在这里,当我想 POST 一条消息时,可以使用相同的 channelID。
如果您希望您的 class 与您发布的 API 匹配,您将需要一个额外的 Channel
class 与Message
。一个聊天频道可以有很多消息吧?
类似
public class Channel
{
[BsonId]
public int ChannelId { get; set; }
public string Name { get; set; }
[BsonRef]
public List<Message> Messages { get; set; }
}
public class Message
{
[BsonId]
public int MessageId { get; set; }
public int ChannelId { get; set; }
public int UserId { get; set; }
public DateTime Date { get; set; }
public string Text { get; set; }
}
插入新消息与您已经完成的操作非常相似。
public void Add(int channelId, string text, int userId)
{
var message = new Message {
ChannelId = channelId,
Text = text,
UserId = userId,
Date = DateTime.Now
};
Messages.Insert(message);
}