错误:.net 中的 db.SaveChanges() 发生引用完整性约束违规?

2023-12-13

我创建了一个 WPF 应用程序Entity framework 4.0.当我尝试插入记录时PhoneNumber表成功插入第一条记录。但是,当我循环遍历某个列表并尝试将另一个项目插入到PhoneNumber表插入记录但显示错误为:

InvalidOperationException 由用户代码处理: 对数据库的更改已成功提交,但更新对象上下文时发生错误。 ObjectContext 可能处于不一致的状态。内部异常消息:发生引用完整性约束违规:定义引用约束的属性值在关系中的主体对象和从属对象之间不一致。

.cs 文件中的代码:

protected void InsertContact(List<PhoneNumbersList> phoneList,otherparameters here)
{
             Contact contact = new Contact();
             PhoneNumber phnumber = new PhoneNumber();

            //INSERT into Contacts Table
            contact.PrefixTitleID = cfnm.PrefixTitleID;// cfnm.Title;
            contact.FirstName = cfnm.FirstName;
            contact.MiddleName = cfnm.MiddleName;
            contact.LastName = cfnm.LastName;
            contact.Website = webpageaddress;
            contact.SuffixID = cfnm.SuffixID;
            contact.Gender = gender;
            contact.IMAddress = imaddress;

            db.Contacts.Add(contact);
            db.SaveChanges();
            int contactid=contact.ContactID;
            if (contactid > 0)
            {
                int phid = 0;
                //INSERT into PhoneNumber Table
                foreach (var ph in phoneList)
                {

                    phnumber.PhoneTypeID = ph.PhoneTypeID;
                    phnumber.CountryID = ph.CountryID;
                    phnumber.City = ph.City;
                    phnumber.LocalNumber = ph.LocalNumber;
                    phnumber.Extension = ph.Extension;
                    phnumber.CountryCode = ph.CountryCode;
                    db.PhoneNumbers.Add(phnumber);
                    db.SaveChanges();//Getting Error here
                    phid=phnumber.ID ;
                    if(phid > 0)
                    {
                        //Save in ContactPhoneNumber Table
                        contactphonenumber.ContactID = contactid;
                        contactphonenumber.PhoneNumberID = phid;
                        db.ContactPhoneNumbers.Add(contactphonenumber);
                        db.SaveChanges();
                    }
                }
            }
}

插入第二条记录后出现错误PhoneNumber桌子。任何想法?

Table Structure: enter image description here

帮助表示赞赏!


你实例化phnumber仅一次,然后尝试将其多次插入数据库中。移动PhoneNumber phnumber = new PhoneNumber();里面的短语foreach (var ph in phoneList) Block.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:.net 中的 db.SaveChanges() 发生引用完整性约束违规? 的相关文章

  • 改变方法中的结构

    如何更改外部方法中的结构 public void ChangeStruct MyStruct myStruct myStruct field1 10 return 当我在该方法之后将结构传递给 ChangeStruct 方法时 我希望更改
  • log4net 仅在调用 XmlConfigurator.Configure() 时起作用

    我明白那个this https stackoverflow com questions 445976 log4net config in external file does not work 1479343 1479343 questio
  • 如何在不发送电子邮件的情况下检查 smtp 服务器? [复制]

    这个问题在这里已经有答案了 我有一个 Web 应用程序 用户可以设置 SMTP 服务器信息 服务器 主机 SMTP 端口 用户名 密码 电子邮件地址 使用的 SSL 当用户设置信息时我需要验证服务器而不发送电子邮件并检查smtp信息是否有效
  • 为什么 IsAssignableFrom() 不适用于 int 和 double?

    这是错误的 typeof double IsAssignableFrom typeof int 这是错误的 typeof int IsAssignableFrom typeof double 但这有效 double a 1 0 int b
  • Spring.NET 和构造函数拦截器

    我正在尝试在构造时对对象进行一些 AOP 并找到了 IConstructorInterceptor 这对于我想要的东西来说是完美的 但它似乎不起作用 http jira springframework org browse SPRNET 2
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • 包括过滤器子集合[重复]

    这个问题在这里已经有答案了 我在为 LINQ 查询中包含的项目添加一些过滤条件时遇到一些困难 我的查询就像 var item Context Order Include Inner Include Inner first Include I
  • 带有自定义鉴别器的 EntityFramework Code First 继承

    我正在尝试在 EntityFramework Code First 中映射以下继承 public class Member public string ProjectName get set public string AssemblyNa
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • 解决找不到程序集的问题 |文件未找到异常 |融合日志

    我正在尝试将我的解决方案包 wsp 部署到 SharePoint 2007 环境 WSP 包含一个功能 该功能加载功能接收器类以在运行时部署计时器作业 在部署此 WSP 时 我不断得到 特征 fb631f6c 2c46 4ab5 b7b3
  • 如何让 LinqToSql 将“索引提示”传递给 sql server?

    由于我们不能相信我们的客户会更新 sql server 中的索引统计信息等 因此我们过去不得不使用索引提示 http www sql server performance com tips hints general p1 aspx 由于我
  • 如何获取Winforms窗体标题栏高度的大小?

    因此 如果它是工具窗口或可最小化的表单 我希望能够以编程方式获取其高度 这可能吗 如果是这样怎么办 您可以使用以下方法确定工具窗口和普通表单的标题栏高度 Rectangle screenRectangle this RectangleToS
  • 同一服务器上的多个.NET版本

    所以我一直都知道在一台计算机 客户端或服务器 上运行多个版本的 NET 框架是可以的 这个问题 https stackoverflow com questions 407306 running many versions of net on
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • 使用实体框架重叠约会

    我将 asp net mvc 与实体框架一起使用 我有一个包含 startat 字段 endat 字段和 roomid 字段 称为 SpaceConfigurationId 的约会列表 并且希望查找给定房间已重复预订的约会列表 可以假设 e
  • 如何使用 Entity Framework Code First 在两个实体之间建立多个一对多关系

    下面是保存关系数据库记录的简单方法 该方法运行得很好 我对一种情况有疑问 在此之前 我需要知道如果数据库复杂性增加 我所采用的方法会遇到什么困难 还有更好 高效但简单的方法吗 一对一 tb student store student det
  • 如何等待远程 .NET 调试器连接

    今天我遇到了一个问题 我需要远程调试程序 该程序是从另一个系统启动的 所以我真的没有机会在命令行上与它交互 不过我可以很容易地改变它的来源 我需要做的是让程序正常启动 然后等待我用调试器附加到它 我想不出一个让我快乐的方法 我确实发现了这个
  • 使用.Net/C# 计算集合的频率分布

    是否有一种快速 简单的方法来使用 Linq 或其他方式计算 Net 集合的频率分布 例如 任意长的 List 包含许多重复项 遍历列表并计算 跟踪重复次数的巧妙方法是什么 查找列表中重复项的最简单方法是将其分组 如下所示 var dups
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som

随机推荐

  • ADT 23 不喜欢 NDK11

    Win7 x64 Eclipse Luna SR2 Android 工具 v23 0 7 我已经安装了 NDK r11 我试图将 Eclipse 指向D android ndk r11通过首选项窗口 但它说 不是有效的 NDK 目录 您需要
  • 在 PHP 中显示关联数组

    我正在尝试构建一个函数 该函数从数据库中提取信息并将其插入到 PHP 中的关联数组中mysql fetch assoc 并返回数组 以便另一个函数可以显示它 我需要一种方法来显示返回的关联数组 这应该是与第一个不同的函数 print r a
  • Fortran 到 C 库的链接器错误 - /usr/lib/libf2c.so:对“MAIN__”的未定义引用

    所以我在使用 fortran 到 C 库时遇到了一些麻烦 现在 在讨论这个问题之前 我可以告诉你 我不能像某些论坛网站所建议的那样使用 g2c 现在 解决问题 当我尝试编译一个非常大的项目时 我得到以下信息 from the makefil
  • 在 Python 中读取 .mat 文件

    是否可以在 Python 中读取二进制 MATLAB mat 文件 我看到 SciPy 声称支持读取 mat 文件 但我没有成功 我安装了SciPy版本0 7 0 但找不到loadmat method 需要进口 import scipy i
  • 如何将 xml 文件的“自定义工具”属性设置为 T4 文件?

    我们知道 asp net resx 文件有一个自定义工具用于生成一些 C 代码 ResX文件代码生成器 我有一个 xml 文件 我想将其自定义工具属性设置为T4 file 如何将 T4 文件绑定到 xml 文件 你可以这样做T4工具箱 在
  • 如何在ios中从Facebook SDK 4.0获取用户名

    如何获得username来自 iOS 中的 facebook sdk 4 0 IBAction LoginWithFacebook id sender if FBSDKAccessToken currentAccessToken self
  • C++ 中的编译器版本、名称和操作系统检测

    我需要使用 C 检测操作系统名称 编译器名称和编译器版本 因为我需要更改每种情况的设置 我怎样才能做到这一点 对于大多数编译器 您可以找到预定义宏的列表 VS http msdn microsoft com en us library b0
  • 在 Windows 上使用 Cygwin64 编译器和调试器为 C 设置 VS Code(错误:无法启动调试)

    我正在尝试将 VSCODE 设置为debugWindows 上使用 Cygwin64 的 C 程序 我使用了 stephw建议的配置 在 Windows 上使用 Cygwin64 编译器和调试器为 C 设置 VS Code 但它对我不起作用
  • 将 dplyr 查询保存到 dbplyr 中的不同架构

    我有一个 JDBC 连接 想要从一个模式查询数据并保存到另一个模式 library tidyverse library dbplyr library rJava library RJDBC access the temp table in
  • Plotly R:根据折线图中的不同线条更改悬停信息字体颜色

    我想更改一些折线图线的悬停信息字体颜色 但不是全部 这是一些与我的代码类似的代码 number lt rep c 00 01 02 each 4 animal lt rep c cat dog mouse each 4 year lt re
  • 按钮上的长文本会弄乱 GridLayout 行

    我有一个 GridLayout 用于承载多个按钮 按两列排序 所有按钮都有固定的高度和宽度 如果其中一个按钮包含太多文本 布局就会混乱 我希望布局能够正确维护行 无论按钮是否有太多文本 我将在稍后处理显示太多文本的情况 使用文本的自动大小
  • T/F:在过程中使用 IF 语句会产生多个计划

    在回应this问题 KM 说 如果您使用的是 SQL Server 2005 或更高版本 则可以使用 IF 在同一过程中进行多个查询 并且每个查询都会为其保存一个查询计划 相当于旧版本上的每个查询的过程 请参阅我的答案中的文章或此链接到正确
  • 如何在查询字符串中安全地包含密码

    是否可以在 C asp net 站点的查询字符串中安全地包含密码 我所知道的一些假设和事情 该网站没有也不会有与其他网站的链接 图像 javascript 分析 因此无需担心引用链接 与 Web 浏览器的所有通信都将通过 https 进行
  • 如何在Python中动态添加If Else语句?

    目前 我开发了一个脚本 该脚本将读取传入 最新的电子邮件并根据某些条件 例如电子邮件主题和文本 过滤电子邮件 当用户选择subject or text 他们可以选择要过滤电子邮件的条件 等于 不包含等 我的问题我有一个演示网站 可以让用户添
  • 如何阻止 X Window 接收用户输入?

    我想在 Linux 桌面上创建一些窗口以用于简单的布局 我需要避免用户输入到这些窗口 并且我认为避免窗口获得焦点就足以实现这种情况 我认为我可以用xprop命令 通过设置WM HINTS属性 但我还没有找到有关如何执行此操作的具体文档 顺便
  • Passport.js - 使用 Passport-local 对来自 MongoDB 的用户进行身份验证

    我的 MongoDB 中有一个简单的用户集合 我使用 mongo native 驱动程序 email email protected password 123456 id oid 50658c835b821298d3000001 当我通过电
  • 将参数传递给 main

    我知道这是相当基本的 但我仍然被困住 所以我有一个需要接受变量 n 的函数 所以这是我的主要函数 int main int argc char argv sort argv 1 我这样调用该程序 sort 4
  • Typescript 枚举作为指定对象中的键预期会出现错误,但没有

    在使用枚举作为对象键时 我遇到了 TS 的一些奇怪行为 我期望 TS 错误 但事实并非如此 我不明白为什么 enum List sm sm md md export interface Dictionary
  • mpatches.FancyArrowPatch 太短

    我想用mpatches FancyArrowPatch绘制许多路径 单个图中数百条 我以前用过plt arrow 但它使绘图窗口变慢 并且比补丁方法花费更长的时间 无论如何 当我开始使用时mpatches Arrow我在大尺度上得到了很好的
  • 错误:.net 中的 db.SaveChanges() 发生引用完整性约束违规?

    我创建了一个 WPF 应用程序Entity framework 4 0 当我尝试插入记录时PhoneNumber表成功插入第一条记录 但是 当我循环遍历某个列表并尝试将另一个项目插入到PhoneNumber表插入记录但显示错误为 Inval