2016-03-05 97 views
0

我在RavenDB(与ASP.NET MVC,C#一起使用)中有一个难得的问题,我希望有人能帮助我。RavenDB更新后不存储文档值

我会尽力解释背景第一:

  • 所以基本上我有两个文件存储“人”(名字,姓氏,项目,..)和“项目”(名称,代码,teamMembers ,..)。
  • 每人都有一个或多个项目(例如,一个人做项目命名为X)

问题:

  • 比如我的一个项目链接到一个人
  • 在此之后,每当我尝试更新项目的一些属性,该项目没有得到保存。
  • 但是,当这个项目没有链接到一个人,我可以编辑所有领域。

我的问题:

  • 是否有任何形式的阻止此更新安全选项之类的东西。更好:无论何时更改某些内容,是否可以更新所有文档,无论是在人员还是项目中更改?

如果我的问题不够清楚,我会尝试以不同的方式解释,谢谢你的帮助。

+0

显示有问题的代码肯定会有所帮助。理想情况下,您已经通过简短的代码示例将问题分离出来,您可以与我们分享,以便我们有讨论的基础。现在你的问题只是一些很难遵循的文本块,没有太多的上下文。 –

+0

你好,对于迟到的答案我很抱歉。这对我来说是愚蠢的,在某个地方我使用if来封锁SaveChanges()。另外,我认为我保存文档的方法是错误的。我想我只需要保存和ID而不是整个文档,这应该使它更加一致并且容易保存而不会出现问题。 – ishyfishy

回答

0

我没有太多的意见来添加评论,然后我尝试回答你的问题(它不是很清楚)。

看来你试图在一个非相关数据库上实现关系数据库逻辑(想想这个)。

我想象一下,在项目列表中你有一个像“ProjectId”这样的属性指向保存的文档Project/8(例如),这只是一个可以轻松加载该文档的参考,但你必须加载它来编辑。

如果保存文档Project/9,然后将其添加到“项目”列表中,则这些文件未连接,因此需要手动进行保存。

+0

这很有道理,我一直在使用关系数据库,因为我最近需要做一个切换,这就是为什么我一直在想这种方式。所以你基本上说保留项目和人员的ID列表将会有效地完成工作。或者你如何推荐它? 现在,我基本上存储整个文档项目,例如在文档人..但它不是一个好方法,我想,因为我需要加载并保存一切。 – ishyfishy

+0

未保存的问题通过这种方式解决了,它是一个阻塞SaveChanges的东西。愚蠢的问题从我身上。 但我的保存方法并不完全正确和有效。你猜对了我想要做的事,你能提供一些关于如何处理这个问题的更多信息吗?我非常感谢帮助。 – ishyfishy

+0

这取决于你需要什么以及你向用户展示什么,当然如果你想模拟多对多的关系,你的项目列表就变成了指向相关文档的id列表(例如Project/8)。 – Embri