0

最初にスキーマ(EF5)を使用してデータベースを構築し、単純なメンバーシップも追加しようとしています。

スキーマを「描画」した後、ユーザープロファイルテーブル(UserId&UserName)を追加し、

フィルタ:InitializeSimpleMembershipAttribute、これをすべて削除します。

//public class UsersContext : DbContext
//{
//    public UsersContext()
//        : base("DefaultConnection")
//    {
//    }

//    public DbSet<UserProfile> UserProfiles { get; set; }

//}

//[Table("UserProfile")]
//public class UserProfile
//{
//    [Key]
//    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
//    public int UserId { get; set; }
//    public string UserName { get; set; }
//}

生成されたクラスで(最初にスキーマによって)手動で追加しようとしました

[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]

UserProfileクラスに

AppStartにも登録しています:

WebSecurity.InitializeDatabaseConnection("Model1Container", "UserProfile",
    "UserId", "UserName", autoCreateTables: true);

しかし、デバッグ時にこのエラーが発生します:

Unable to find the requested .Net Framework Data Provider.  It may not be installed

WebSecurity.InitializeDatabaseConnection("Model1Container", "UserProfile",

それを行うための良い習慣はありますか?

最初にスキーマを使用することは可能ですか?

4

1 に答える 1

0

注意、接続名を持つ次の部分を削除しました。

public UsersContext()
//        : base("DefaultConnection")
//    {
//    }

それをコンテキストクラスに追加するだけです。はい、コードファーストアプローチを使用してそれを行うことができます。現在行っていることよりもはるかに簡単だと思います。

于 2013-02-05T16:47:04.260 に答える