如何在表中添加外键数据 [英] How to add foreign key data in table
本文介绍了如何在表中添加外键数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,
我从数据库第一种方法插入数据。
我有3张桌子。
1. UserMaster 2.角色3. UserRoles。
当我创建edmx时,它会创建如下模型:
Hello,
I am inserting data from database first method.
I have 3 tables.
1. UserMaster 2. roles 3. UserRoles.
When i create edmx it create the model like below:
public partial class UserRole
{
public int UserRoleID { get; set; }
public virtual Role Role { get; set; }
public virtual User User { get; set; }
}
public partial class User
{
public User()
{
this.UserRoles = new HashSet<UserRole>();
}
public string UserID { get; set; }
public string EmailAddress { get; set; }
public Nullable<System.DateTime> CreatedDate { get; set; }
public string CreatedBy { get; set; }
public virtual ICollection<UserRole> UserRoles { get; set; }
}
public partial class Role
{
public Role()
{
this.UserRoles = new HashSet<UserRole>();
}
public int RoleID { get; set; }
public string RoleName { get; set; }
public virtual ICollection<UserRole> UserRoles { get; set; }
}
现在当我插入数据时这个:
Now when i insert data bt this:
Role obj_role = new Role();
var roles = ent.Roles.Where(m => m.RoleID == model.RoleID);
foreach (var item in roles)
{
obj_role.RoleID = item.RoleID;
obj_role.RoleName = item.RoleName;
}
User obj_user = new User();
obj_user.UserID = model.LoginName;
obj_user.EmailAddress = model.EmailAddress;
UserRole obj_UserRole = new UserRole();
obj_UserRole.User = obj_user;
obj_UserRole.Role = obj_role;
obj_user.UserRoles.Add(obj_UserRole);
obj_role.UserRoles.Add(obj_UserRole);
ent.Users.Add(obj_user);
ent.SaveChanges();
但是每次在Roles表中创建新记录时。
请建议..
But every time it create new record in Roles table.
please suggest..
推荐答案
请检查db中是否已存在角色,然后执行你的fucntionaly
Please check if role already exists in db or not, then do your fucntionaly
这篇关于如何在表中添加外键数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文