相关疑难解决方法(0)

在没有先查询的情况下更新记录?

让我们说我查询数据库并加载项目列表.然后我打开详细视图表单中的一个项目,而不是从数据库中重新查询该项目,我从列表中的数据源创建项目的实例.

有没有办法可以更新数据库记录而无需获取单个项目的记录?

以下是我现在正在做的一个示例:

dataItem itemToUpdate = (from t in dataEntity.items
                                 where t.id == id
                                 select t).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

然后在拉动记录后,我更新项目中的一些值并将记录推回:

itemToUpdate.itemstatus = newStatus;
dataEntity.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

我认为有更好的方法可以做到这一点,任何想法?

c# entity-framework

90
推荐指数
6
解决办法
6万
查看次数

实体框架:如何检测数据库的外部更改

我有一个存储过程,可以更改数据库中的大量数据.从应用程序调用此存储过程,同时使用EF进行数据操作.

所以我点击一个按钮,存储过程在数据库中运行,数据被更改,EF显示旧数据给用户.

有没有办法强制DbContext或ObjectContext刷新数据库中的数据?ObjectContext.Refresh()可能是解决方案,但我不想为每个可能更改的表调用此方法.我希望一次性刷新所有表格.

我正在使用Entity Framework 5,面向.NET 4.0

编辑:已添加数据,但EF不反映现有数据的修改.我看到新添加的记录,但我看不到我对现有记录所做的更改.

c# database stored-procedures entity-framework

20
推荐指数
1
解决办法
1万
查看次数

我可以先更新EF实体而不先查询吗?

这是我的情景:

  • 我有一个通过WCF传递的简单消息.此消息表示现有数据库记录,并具有进行计算所需的所有数据字段.
  • 完成计算后,我想更新此datarecord上的一个字段.

目前,尝试简单地设置实体框架的实体版本的所有字段,然后持久化对象上下文的状态似乎什么都不做.

有什么想法吗?

entity-framework

3
推荐指数
1
解决办法
3025
查看次数