C# 插入时:Store update、insert或delete语句影响了意外的行数(0)
我试图通过EF插入一个值。但是我在插入时遇到了一个问题,我知道我的表没有任何主键,而且我正在传递所有值,以避免非空列错误。所以我无法预测它为什么不插入。下面是我的代码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
foreach (var obj in newEntities)
{
context.XXX.Add(obj);
context.Entry(obj).State = EntityState.Added;
context.SaveChanges();
}
[System.CodeDom.Compiler.GeneratedCode("EF.Reverse.POCO.Generator", "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。展示模型。