【发布时间】:2020-07-01 13:09:42
【问题描述】:
我这里有两个表(教师和用户)。表用户与表教师有关系。这些是图片 Table Teacher, Table User.
我需要制作一个管理教师表格。因此,每次我向表教师插入数据时,它也必须将数据插入表用户。根据我的经验,我可以将数据插入到表 Teacher 中,但我不能将数据插入到表 User 中。
这是错误:更新条目时出错。看 细节的内部例外” [重复]
SqlException:INSERT 语句与 FOREIGN KEY 冲突 约束“FK_User_Student”。数据库发生冲突 “LKSN2017”,表“dbo.Student”,列“StudentId”。该声明有 被终止了。
我为此使用 Entity Framework Core Linq。这是语法的示例:
db.Teachers.Add(insert);
这是我将数据插入表教师和用户的代码。性别和密码生成的变量是字符串。它没有问题,所以不要关心变量。
Teacher insert = new Teacher()
{
TeacherId = textboxTeacherID.Text.ToString(),
Name = textboxTeacherName.Text.ToString(),
Address = textboxAddress.Text.ToString(),
Gender = gender,
DateofBirth = Convert.ToDateTime(datepickerDateOfBirth.Text.ToString()),
PhoneNumber = textboxPhoneNumber.Text.ToString()
};
db.Teachers.Add(insert);
User insertMore = new User()
{
username = textboxTeacherID.Text.ToString(),
password = passwordGenerate
};
db.Users.Add(insertMore);
db.SaveChanges();
好的,实际上我还有一个名为管理学生表单的表单。它与管理教师具有相同的任务。每次我在Student表中插入数据时,也需要向User表中插入数据。
这是表 Student 和 Table User 的图像: Table Student,Table User
所以,如果我能完成管理教师表格,我也可以完成管理学生表格
请帮助我使用 Entity Framework Core Linq。如果您不知道如何使用 Entity Framework Core Linq 修复它,你们可以提供 MySql 方法或技术名称来解决此问题。所以,我可以在浏览器中搜索它。非常感谢!
【问题讨论】:
-
请添加您的教师和用户实体和代码如何创建
insert。 -
您使用的是 SQL 还是 MySQL?请参阅我昨天发布的答案:stackoverflow.com/questions/62663042/… 该行显示了如何添加约束和引用。
-
@jdweng,我使用 Entity Framework Core Linq。语法示例是:db.Teachers.Add(insert)。但是,如果你只知道用 MySql 修复它的方法。没关系,因为我对 MySql 有一些了解。我的意思是 MySql 就像 ("Select * from teacher;")。
-
我喜欢使用 SQL Server Management Studio 中的查询来创建 SQL 数据库,就像我在链接中显示的那样。然后当您遇到问题时,您可以删除现有数据库并从文本文件创建新数据库。
-
@GuruStron 我已经上传了我的代码。你现在可以检查了
标签: c# sql-server entity-framework-core