相关疑难解决方法(0)

实体框架:"存储更新,插入或删除语句影响了意外的行数(0)."

我正在使用Entity Framework来填充网格控件.有时当我进行更新时,我收到以下错误:

存储更新,插入或删除语句会影响意外的行数(0).自实体加载后,实体可能已被修改或删除.刷新ObjectStateManager条目.

我无法弄清楚如何重现这一点.但它可能与我进行更新的距离有多大关系.有没有人看过这个或有没有人知道错误信息是指什么?

编辑:不幸的是我不再自由地重现我在这里遇到的问题,因为我离开了这个项目并且不记得我是否最终找到了解决方案,如果另一个开发人员修复它,或者我是否解决了这个问题.因此我不能接受任何答案.

entity-framework

312
推荐指数
18
解决办法
31万
查看次数

存储更新,插入或删除语句影响了意外的行数(0)EntityFramework

当我尝试保存对上下文所做的更改时,我不断收到以下错误:

存储更新,插入或删除语句会影响意外的行数(0).自实体加载后,实体可能已被修改或删除.刷新ObjectStateManager条目.

我有以下课程:

public class Person : IPerson
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string Name
    {
        get
        {
            return FirstName + " " + LastName;
        }
        set{}
    }

    public string Email { get; set; }
    public DateTime? LastModified { get; set; }
    public virtual ICollection<Result> Results { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

用户资料

public class UserProfile : Person
{
    public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc entity-framework

23
推荐指数
2
解决办法
8万
查看次数

实体框架5.0处理乐观并发异常?

context.SaveChanges()其中一个例外情况下处理几个潜在的异常时OptimisticConcurrency.有关此问题的Microsoft文档,请访问http://msdn.microsoft.com/en-us/library/bb399228.aspx,对于EF 4.x进行了讨论.

try
{
    // Try to save changes, which may cause a conflict.
    int num = context.SaveChanges();
    Console.WriteLine("No conflicts. " +
        num.ToString() + " updates saved.");
}
catch (OptimisticConcurrencyException)
{
    // Resolve the concurrency conflict by refreshing the 
    // object context before re-saving changes. 
    context.Refresh(RefreshMode.ClientWins, orders);

    // Save changes.
    context.SaveChanges();
    Console.WriteLine("OptimisticConcurrencyException "
    + "handled and changes saved");
}
Run Code Online (Sandbox Code Playgroud)

...但是在EF 5.0(RC)上,这似乎不起作用,因为Refresh()我的EF5,代码优先,DbContext派生context类上不存在.

我确实看到了context.Entry(context.SalesOrderHeaders).Reload();- 但这似乎是一个直接从db重新加载而不是刷新/合并(与策略客户端获胜).

任何想法如何处理EF5中的乐观并发异常?实际上甚至在SaveChanges()中关于异常处理的一般指针都会很好

谢谢

entity-framework-5

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

dbcontext不包含'Refresh'的定义

我首先使用实体​​框架代码,并得到以下编译错误.dbcontext不包含"刷新"的定义.我已经看到许多使用Refresh方法的例子.但是当我将Refresh方法添加到我的dbcontext时,我得到了一个complilation错误.我正在使用以下命名空间.

using System.Data;
using System.Data.Entity;
using System.Data.Linq;
Run Code Online (Sandbox Code Playgroud)

Am I missing one? I tried to look it up but did not find the namespace.

c# frameworks entity

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