gpt4 book ai didi

entity-framework-6 - 如何在身份用户和我的员工表之间创建一对一关系

转载 作者:行者123 更新时间:2023-12-01 13:49:49 25 4
gpt4 key购买 nike

我正在尝试在我的 AspNetUser(ApplicationUser 类)表和我的 Employee 表之间创建一对一的关系。

问题是:

  • 我的应用程序与我的 Employee 表有太多关系,所以我无法创建复合键。

我尝试过的:

  • 我尝试使用唯一索引,但 Entity Framework 不支持索引。
  • 我试图将外键放在 ApplicationUser 类中,但我猜想 asp.net 身份不支持 AspNetUsers 表中的复合键。

这是我期望实现的示例:

public class ApplicationUser : IdentityUser<int, CustomUserLogin, CustomUserRole, CustomUserClaim>
{
public ApplicationUser()
: base()
{
PreviousUserPasswords = new List<PreviousPassword>();
}
public virtual IList<PreviousPassword> PreviousUserPasswords { get; set; }

public virtual Employee Employee { get; set; }
}

[Table("EMPLOYEE")]
public class Employee
{
[Key, Column("ID")]
public int Id { get; set; }
[Column("ID_IDIOM")]
public int IdIdiom { get; set; }
[Column("USER_LOGIN")]
[Required]
[StringLength(50)]
public string UserName { get; set; }
[Column("NAME")]
[Required]
[StringLength(100)]
public string Name { get; set; }
[Column("EMAIL")]
[Required]
[StringLength(100)]
public string Email { get; set; }
[Column("ACTIVE")]
public bool Active { get; set; }
[Column("EMPLOYEE_TYPE")]
public short EmployeeType { get; set; }
[Column("SHOW_TUTORIAL")]
public bool ShowTutorial { get; set; }

public ApplicationUser User { get; set; }
}

任何想法都会有很大帮助。

PS.: 抱歉我的英语不好。

最佳答案

如果您的应用程序上下文继承自 IdentityDbContext,则可以使用 fluent api 进行配置:

modelBuilder.Entity<Employee>()
.HasRequired(e => e.User)
.WithRequiredDependent(u => u.Employee);

参见 https://msdn.microsoft.com/en-us/data/jj591620.aspx?f=255&MSPPError=-2147217396#RequiredToRequired

关于entity-framework-6 - 如何在身份用户和我的员工表之间创建一对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32784426/

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