小编use*_*218的帖子

实体框架关键问题

我尝试登录时遇到以下错误:

Project.Model.Identity.UserLogin :: EntityType'UserLogin'没有定义键.定义此EntityType的键.UserLogins:EntityType:EntitySet'UserLogins'基于没有定义键的'UserLogin'类型.

我试图在我的dbcontext中使用复合键

  // Primary Key
  this.HasKey(t => new { t.LoginProvider, t.ProviderKey, t.UserId });
Run Code Online (Sandbox Code Playgroud)

但它似乎无法选择它,看起来它正在搜索模型中的键而不是在上下文中,因为当我在模型中添加"[Key]"关键字时,它抱怨必须使用HasKey复合键

public partial class UserLogin
{
    [Key]
    public string LoginProvider { get; set; }
    [Key]
    public string ProviderKey { get; set; }
    [Key]
    public string UserId { get; set; }
    public virtual User User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我如何通过这个?我是否在模型中添加了HasKey,如果是这样,为什么不在上下文中添加它?

c# entity-framework composite-key

2
推荐指数
1
解决办法
214
查看次数

标签 统计

c# ×1

composite-key ×1

entity-framework ×1