0

我在消息线程和消息之间有一对多的连接。我注意到了。当我尝试显示消息线程的消息时很奇怪。

例如,线程中有 5 条消息(我已经检查了数据库,一切正常),但我的存储库仅从线程中获取 3 条消息。

我做了一些小改动,运行迁移脚本,这一次存储库成功地获取了所有五条消息。

所以我决定再添加 2 条消息(并且它们已成功添加),但这次存储库获取了 5 条消息而不是 7 条。

所以我制作了新的控制器,这次存储库获取了所有 7 条消息,我再次添加了一些但它再次获取了 7 条消息。

这是为什么 ?我想问题可能出在我的工作单元中。

这是 UintOfWork 的代码:http://pastebin.com/kemDsy2C 是我获取消息线程的代码: http ://pastebin.com/D0QEhRbm 最后是控制器的代码:http: //pastebin.com/G40cK3Gz

我感谢任何帮助:)

编辑我忘了提到我使用signalR hub创建消息并调用存储库,就像我在控制器中调用它一样

4

1 回答 1

2

问题是您的类(包括 UnitOfWork)是静态的。这是 Entity Framework 的一大禁忌。将它们从静态更改,您会没事的。还可以考虑使用依赖注入容器来管理对象生命周期并将所需的实例注入每个控制器。

有关更多信息,请参阅此 SO 答案

于 2013-06-02T20:02:02.927 回答