Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 插入时:Store update、insert或delete语句影响了意外的行数(0)_C#_Entity Framework_Linq_Entity Framework 6_Poco - Fatal编程技术网

C# 插入时:Store update、insert或delete语句影响了意外的行数(0)

C# 插入时:Store update、insert或delete语句影响了意外的行数(0),c#,entity-framework,linq,entity-framework-6,poco,C#,Entity Framework,Linq,Entity Framework 6,Poco,我试图通过EF插入一个值。但是我在插入时遇到了一个问题,我知道我的表没有任何主键,而且我正在传递所有值,以避免非空列错误。所以我无法预测它为什么不插入。下面是我的代码 foreach (var obj in newEntities) { context.XXX.Add(obj); context.Entry(obj).State = EntityState.Added; context.SaveChanges(); } [System.CodeDom.Compile

我试图通过EF插入一个值。但是我在插入时遇到了一个问题,我知道我的表没有任何主键,而且我正在传递所有值,以避免非空列错误。所以我无法预测它为什么不插入。下面是我的代码

foreach (var obj in newEntities)
{
    context.XXX.Add(obj);
    context.Entry(obj).State = EntityState.Added;
    context.SaveChanges();
}



[System.CodeDom.Compiler.GeneratedCode("EF.Reverse.POCO.Gene‌​rator", "2.33.0.0")] 
public partial class Example 
{ 
  public System.DateTime DateOff { get; set; } // DateOff (Primary key)
  public short Num { get; set; } // Num (Primary key) 
  public System.DateTime DateAdded { get; set; } // DateAdded 
  public int Id { get; set; } // Id 
  public string CCode { get; set; } // CCode 
  public string Comments { get; set; } // Comments 
}

请建议我摆脱这个问题。谢谢。

添加主键将是一个良好的开端,甚至可能解决此问题。这张桌子没有PK有什么特别的原因吗?没有PK,我认为你无法解决这个问题。EF在SaveChanges()之后检查并发性。为此,它从保存的条目中获取并发令牌,并查看数据库中是否存在具有给定值的对象。标准的并发令牌是PK,数据库中永远不会有PK值为null的对象。@Mixxiphoid没有任何具体原因。但是没有添加PK的其他方法吗?@DevilSuichiro感谢您的评论并同意您的看法。但我尝试过更新和删除它,对我来说效果很好。这就是为什么我想知道为什么插入是不可能的?我认为EF6没有PK是不能工作的。看见根据惯例,该表可能有一个PK。显示模型。添加主键将是一个良好的开端,甚至可能解决此问题。这张桌子没有PK有什么特别的原因吗?没有PK,我认为你无法解决这个问题。EF在SaveChanges()之后检查并发性。为此,它从保存的条目中获取并发令牌,并查看数据库中是否存在具有给定值的对象。标准的并发令牌是PK,数据库中永远不会有PK值为null的对象。@Mixxiphoid没有任何具体原因。但是没有添加PK的其他方法吗?@DevilSuichiro感谢您的评论并同意您的看法。但我尝试过更新和删除它,对我来说效果很好。这就是为什么我想知道为什么插入是不可能的?我认为EF6没有PK是不能工作的。看见根据惯例,该表可能有一个PK。展示模型。