我正在尝试将用户代码脚本保存在 RavenDB 中,到目前为止几乎一切正常。我从一个单独的进程中获得了一个脚本,我能够加载脚本、对其进行编辑并将其保存回数据库。
当我创建一个新脚本并尝试将其插入数据库时,问题就来了。我使用下面的代码。
public static void AddUserScript(UserScripts entity, string RavendbUrl, int userid)
{
try
{
IvcRavenDB raven = new IvcRavenDB();
var store = raven.InitRavenDB(RavendbUrl, "UserScripts");
entity.Updated = DateTime.Now.ToString();
entity.Created = DateTime.Now.ToString();
entity.ScriptFileLength = entity.Script.Length;
entity.userid = userid;
using (var session = store.OpenSession())
{
session.Store(entity); // DIES HERE
session.SaveChanges();
}
}
catch (Exception ex)
{
var mess = ex.Message;
}
}
当我说dies时,下一行没有执行,没有异常,而且我在任何地方都看不到错误,这很奇怪。几乎完全相同的代码可以使用 Id 保存实体,唯一的区别是添加时的 Id 字段为 null。
我在 Net Core 2.0 中使用 RavenDB 4 和 Raven Client 4.02。
我对 Raven 很陌生,甚至不知道从哪里开始解决这个问题而没有错误,所以任何帮助都会很棒。