我正在尝试创建一个SQL
表以包含其他用户信息。我希望它由 VS2012 中的 Migrations 创建(package console => update-database)
。
我看到有两个表使用 UserId 列作为键:Memberships and Users tables.
我正在尝试定义以下类并通过 Migrator 将其映射到 SQL 表:
[Key]
[Column(Order = 0)]
[ForeignKey("User")]
public Guid **UserId** { get; set; }
[Key]
[Column(Order = 1)]
[ForeignKey("Category")]
public int CategoryId { get; set; }
public virtual Category Category { get; set; }
**public virtual User User { get; set; }**
尽管在用户 SQL 表中很明显 UserId 列是键,但我收到以下错误消息:
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'User' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'Users' is based on type 'User' that has no keys defined.
我在这里缺少什么?可能是Microsoft.VisualBasic.ApplicationServices.User / System.Web.Security.MembershipUser
类不一定以这种方式映射到表,反之亦然,因此UserId
未声明该属性是 Key dataannotation?
我对这个问题的其他解决方案持开放态度。
非常感谢!