- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一切正常,直到我决定在另一个实体中添加 IdentityUser 集合作为导航属性。
在模型生成过程中检测到一个或多个验证错误:
IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType.
IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType.
IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined.
IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined.
但它们是 Microsoft.AspNet.Identity.EntityFramework 库的一部分。他们怎么没有定义键???
我的实体和数据库上下文(EF v6.1、AspNet.Identity v.2.0):
public class User : IdentityUser
{
public virtual int OrganizationId { get; set; }
public virtual Organization Organization { get; set; }
}
public class Organization
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<User> Users { get; set; }
}
public class DatabaseModelContext : IdentityDbContext<User>
{
public DatabaseModelContext() : base("ConnectionString") { }
public DbSet<Organization> Organizations { get; set; }
}
还尝试定义显式关系:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Organization>()
.HasMany(o => o.Users)
.WithOptional(u => u.Organization)
.HasForeignKey(u => u.OrganizationId);
modelBuilder.Entity<User>()
.HasOptional(u => u.Organization)
.WithMany()
.HasForeignKey(u => u.OrganizationId);
}
没有成功!!!
不可能,必须为 Entity Framework 内部类定义关键类型!!!
解决方案(更新)
实际上我的简化示例并没有反射(reflect)我的真实应用程序情况。我很抱歉。我一直在我的应用程序和组织实体中使用多个 Dbcontext,它们来自派生自 Dbcontext 类的单独上下文。这样,这个上下文对 IdentityUser 模型一无所知,但组织实体涉及用户实体 - 存在问题。
解决方案 - 我从 IdentityDbContext 派生了所有其他上下文!!!
最佳答案
实际上我的简化示例并没有反射(reflect)我的真实应用程序情况。我很抱歉。我一直在我的应用程序和组织实体中使用多个 Dbcontext,它们来自派生自 Dbcontext 类的单独上下文。这样,这个上下文对 IdentityUser 模型一无所知,但组织实体涉及用户实体 - 存在问题。
解决方案 - 我从 IdentityDbContext 派生了所有其他上下文!!!
关于entity-framework - EntityFramework 中 IdentyUsers 的集合 - 没有定义键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577789/
一切正常,直到我决定在另一个实体中添加 IdentityUser 集合作为导航属性。 在模型生成过程中检测到一个或多个验证错误: IdentityUserLogin: : EntityType 'Id
一切正常,直到我决定在另一个实体中添加 IdentityUser 集合作为导航属性。 在模型生成过程中检测到一个或多个验证错误: IdentityUserLogin: : EntityType 'Id
我是一名优秀的程序员,十分优秀!