gpt4 book ai didi

ef-code-first - 如何首先使用代码向Identity默认表AspNetUsers添加多对多关系?

转载 作者:行者123 更新时间:2023-12-04 06:27:11 26 4
gpt4 key购买 nike

我是 Identity 框架和 Code First 方法的新手。现在我在 VS 2015 上创建新的 MVC5 项目时使用默认项目。

运行项目时生成的默认表很好,但我希望它与其他表一起生成一个名为 tbSkills (Id, SkillName) 的新表,并且它必须与 AspNetUsers 具有多对多关系。

那么我必须在哪里写什么来完成这个?

ps:我也按照教程将 Id 类型从 string 更改为 int,它工作正常。

这是我最后一次尝试的,在类 ApplicationUser 中,在 IdentityModels.cs 文件中:

public class ApplicationUser : IdentityUser<int, MyUserLogin, MyUserRole, MyUserClaim>, IUser<int>
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser, int> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}

// // This following is my added code
public ApplicationUser()
{
Skills = new HashSet<tbSkill>();
}

public virtual ICollection<tbSkill> Skills { get; set; }
}

public class tbSkill
{
public tbSkill()
{
Users = new HashSet<ApplicationUser>();
}

public int Id;
public string SkillName;

public virtual ICollection<ApplicationUser> Users { get; set; }
}

它以这个错误结束:

enter image description here

我已经研究并阅读了一堆文章,但没有成功。

最佳答案

尝试添加技能ID

public class ApplicationUser : IdentityUser<int, MyUserLogin, MyUserRole, MyUserClaim>, IUser<int>
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser, int> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}

// // This following is my added code
public ApplicationUser()
{
Skills = new HashSet<tbSkill>();
}
public int SkillId {get;set;}
public virtual ICollection<tbSkill> Skills { get; set; }
}

关于ef-code-first - 如何首先使用代码向Identity默认表AspNetUsers添加多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31824130/

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