实体框架插入到具有外键的主表和子表

本文关键字:插入 框架 实体 | 更新日期: 2023-09-27 18:36:27

>我有 2 个模型实体,例如下面的"用户"实体是主表,"用户联系人"是具有外键的实体。GUI具有接受用户名和密码的输入字段,用户可以选择添加他拥有的"n"个联系号码。如何使用实体框架使插入到父表子表。

例如,如果我在用户实体中获取以下值。请帮我解决这个问题。

UserName = "ABC", Password = "123" 
& UserContacts = { UserId = <Primary key of User entity>, PhoneNumber = 1234567890 },
{ UserId = <Primary key of User entity>, PhoneNumber = 9087654321 }, 
{ UserId = <Primary key of User entity>, PhoneNumber = 5412309876 }
public class User
{
    public int Id { get;set;}
    public string UserName { get;set;}
    public string Password { get;set;}
    public List<UserContacts> UserContacts { get; set; }
}
public class UserContacts
{
    public int Id { get;set;}
    public int UserId { get;set;} // Foreign key from User
    public string PhoneNumber { get;set;}
    public virtual User User{ get; set; }
}

谢谢

实体框架插入到具有外键的主表和子表

var user = new User(){UserName="ABC", Password="123"};
user.UserContacts = new UserContacts();
user.UserContacts.Add(new UserContacts(){ PhoneNumber = "9087654321"});
user.UserContacts.Add(new UserContacts(){ PhoneNumber = "5412309876"});
Context.Users.Add(user);
Context.SaveChanges();

向实体框架 6 中的父表添加新的子记录