插入值外键 [英] insert value to foreign key
问题描述
问题是与外键:
INSERT语句冲突与外键约束FK_uzytkownik_Logowanie。冲突发生于数据库
Restauracja的表dbo.Logowanie,列'登录ID'。结果
该语句已终止。
块引用>我检查这个使用断点,当断点(运行的应用程序)为后
在Logowanie主键中加入
表baza.SubmitChanges();
在
logowanie
表中的SubmitChanges $自动加入
为LoginID
的主键C $ C>。
如何从
logowanie
表复制为LoginID
的价值为LoginID
在uztkownik
表?我在这里补充外键值,但在这里为LoginID
还没有价值。Logowanie newlog =新Logowanie()
{
登录=model.LoginModel.Użytkownik,
Haslo =model.LoginModel.Hasło,
KONTO = model.LoginModel.Konto
};uzytkownik用户=新uzytkownik()
{
IMIE = model.uzytkownikModle.imie,
nazwisko = model.uzytkownikModle.nazwisko,
PESEL = model.uzytkownikModle.pesel,
夹= model.uzytkownikModle.nip,
电话= model.uzytkownikModle.telefon,
adres_zamieszkania = model.uzytkownikModle.adres_zamieszkania,
电子邮件= model.uzytkownikModle.email,
为LoginID = newlog.LoginID //<<< ----------------
};baza.Logowanies.InsertOnSubmit(newlog);
baza.uzytkowniks.InsertOnSubmit(用户);baza.SubmitChanges();
解决方案uzytkownik应该有一个名为Logowanie属性,它可以设置为您创建,但没有尚未提交新的实例:
user.Logowanie = newlog;
problem is with foreign key:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_uzytkownik_Logowanie". The conflict occurred in database "Restauracja", table "dbo.Logowanie", column 'LoginID'.
The statement has been terminated.I check this using breakpoints, and primary key in
Logowanie
table was added when breakpoints (running application) was afterbaza.SubmitChanges();
Primary key of
LoginID
inlogowanie
table is added automatically duringSubmitChanges
.How to copy value of
LoginID
fromlogowanie
table toLoginID
inuztkownik
table? I add foreign key value here, but hereLoginID
hasn't value yet.Logowanie newlog = new Logowanie() { Login = model.LoginModel.Użytkownik, Haslo = model.LoginModel.Hasło, konto = model.LoginModel.Konto }; uzytkownik user = new uzytkownik() { imie = model.uzytkownikModle.imie, nazwisko = model.uzytkownikModle.nazwisko, pesel = model.uzytkownikModle.pesel, nip = model.uzytkownikModle.nip, telefon = model.uzytkownikModle.telefon, adres_zamieszkania = model.uzytkownikModle.adres_zamieszkania, email = model.uzytkownikModle.email, LoginID = newlog.LoginID //<<<---------------- }; baza.Logowanies.InsertOnSubmit(newlog); baza.uzytkowniks.InsertOnSubmit(user); baza.SubmitChanges();
解决方案uzytkownik should have a property called Logowanie, which you can set to the new instance you created but didn't Submit yet:
user.Logowanie = newlog;
这篇关于插入值外键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!