【发布时间】:2016-06-17 03:20:44
【问题描述】:
我在 SignalR 集线器中有这个简单的代码,在我的机器上运行代码时它工作正常。
using (var db = new dbEntities())
{
var registry = db.myTable.Where( /* where clause */ ).FirstOrDefault();
registry.status = "C";
db.SaveChanges();
}
但是当我发布网站并将其上传到服务器时,此代码不会将更改保存在数据库中。 修改数据库的其他地方工作得很好,但这个在 signalR 集线器内的地方却没有。
【问题讨论】:
-
那么,会发生什么?
-
1 - 你的意思是
registry.status = "C";(缺少y)? 2-你确定你的代码实际上被调用了吗? 3- 你确定你连接到正确的数据库吗? -
旁注 - 您可以将
Where子句替换为FirstOrDefault。var registry = db.myTable.FirstOrDefault( /* where clause */ ); -
关于注册表,这只是一个错字,我的实际代码没有使用这些名称。我确信代码正在被调用,因为就在这个块之后,调用了一个运行良好的客户端方法。并且数据库连接是正确的,因为代码通过相同的dbContext从那里获取信息。
-
您是否将您的实体标记为已修改
db.Entry(registry).State = System.Data.Entity.EntityState.Modified;?
标签: asp.net-mvc entity-framework signalr