我想知道如何将console.writeline数据存储在litedb数据库文件中。这是我的波科课
[BsonId]
public int Id { get; set; }
public DateTime Updated { get; set; }
public DateTime Last { get; set; }
public override string ToString()
{
return string.Format("Id : {0}, Updated : {1}, Last Message : {2}",
Id,
Updated,
Last);
}在此,我在db中插入信息:
using (var db = new LiteDatabase(_dbLocation))
{
var hist = db.GetCollection<MailBoxInfo>("History");
var mail = new MailBoxInfo
{
Updated = DateTime.Now,
Last = datemsg
};
hist.Insert(mail);
hist.EnsureIndex("Updated");
}最后,尝试输出它:
using (var db = new LiteDatabase(_dbLocation))
{
var hist = db.GetCollection<MailBoxInfo>("History");
var res = hist.FindById(3);
}那我就有例外了
“其他信息:未能为'TanganTask.MailBoxInfo‘类型创建实例。检查是否有没有参数的公共构造函数”。
我哪里弄错了,怎么解决这个问题?
发布于 2016-07-06 13:50:05
LiteDB要求您的实体类必须是带有public constructor with no parameters的public。所以,你们班一定是:
public class MailBoxInfo
{
[BsonId]
public int Id { get; set; }
public DateTime Updated { get; set; }
public DateTime Last { get; set; }
public override string ToString()
{
return string.Format("Id : {0}, Updated : {1}, Last Message : {2}",
Id,
Updated,
Last);
}
}默认类是interal的(只有class MailBoxInfo)。
https://stackoverflow.com/questions/38213261
复制相似问题