gpt4 book ai didi

c# - 通过使用 linq to ado.net 实体 froamwork 将记录插入具有一对多关系的两个表中

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:59 24 4
gpt4 key购买 nike

我有上面两个表,在部门表中,PersonIDPersonalInfo 表的外键。我有包含 FirstName、SecondName、MobileNo 和 Department 文本框的 Web 表单。所以我在将 PersonID 插入 Department 时遇到问题。

你能告诉我如何使用 linq to entityframework 将 PersonalInfo 的 ID 存储到部门的 PersonID 中吗?

这是我的代码:

PersonalInfo myRecipient = new PersonalInfo();
myRecipient.FirstName = id_firstName.ToString();
myRecipient.SecondName = id_lastName.Text.ToString();
myRecipient.MobileNo = id_mobileNo.Text.ToString();
Department myDepartment = new Department();
myDepartment.Department1 = id_departmentName.Text.ToString();
MyEntity myDB = new MyEntity();

myDB.AddToPersonalInfoes(myRecipient);

myDB.AddToDepartments(myDepartment);
myDB.SaveChanges();

最佳答案

在 EntityFramework 中,您正在使用实体引用。所以你不必关心ID。您所要做的就是设置从 Department 到 PersonalInfo 的引用。 EF 会处理您的 ID、PK 和 FK!

try 
{
// create objects, set properties ...
PersonalInfo myRecipient = new PersonalInfo();
myRecipient.FirstName = id_firstName.ToString(); // CHECK if value is valid (correct max length, ..)
// and so on ..

// set reference from Entity Department to Recipient
myDepartment.PersonalInfo = myRecipient;

myDB.AddToPersonalInfoes(myRecipient);
myDB.AddToDepartments(myDepartment);
myDB.SaveChanges();
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
if (ex.InnerException!=null)
Debug.WriteLine(ex.InnerException.Message);
}

你可以看看这个blog ,很好地说明了这一点!

关于c# - 通过使用 linq to ado.net 实体 froamwork 将记录插入具有一对多关系的两个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12154287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com