SQL
追加のユーザー情報を含めるテーブルを作成しようとしています。VS2012 の Migrations で作成したい(package console => update-database)
。
UserId 列をキーとして使用する 2 つのテーブルがあることがわかります。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; }**
Users 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 であると宣言されていませんか?
私はこの問題の他の解決策を受け入れています。
本当にありがとう!