10

ドメイン中心のデータmongodbのストレージとして使用することにしました。それらをプロジェクトに統合して、単一のアプリケーションデータベースを維持することを探していました。公式のプロバイダーはなく、利用可能なプロバイダーは成熟/安定していないようです。ということで、シンプルなメンバーシップをそのまま利用することにしました。official mongodb providersASP.NET MVC

Entity Framework可能であれば、固有のコードを削除するにはどうすればよいAccountControllerですか?

SimpleMembership UserProfileと の両方を持つユーザー プロファイルをどのように管理しますMongoDB Userか?

別のアセンブリ[project-name].domainには、次の 2 つのクラスがあります。

public class Event {
    public DateTime ScheduledDate { get; set; }
    public String Name { get; set; }
    public Location Location { get; set; }
}

public class User {
    public String Name { get; set; }
    public List<Events> AssociatedEvents { get; set; }
}

に を追加すると、これは解決策にUserProfileIdなりUserますか?

public class User {
    public Int32 UserProfileId { get; set; }
    public String Name { get; set; }
    public List<Events> AssociatedEvents { get; set; }
}
4

2 に答える 2

8

appSetting から connectionString を使用する必要があります。

新しい dll を使用するには、上記のフォークをダウンロードし、既存の dll 参照をビルドおよび変更する必要があります。

それで...

あなたの設定を使用してください:

<appSettings>
   <add key="MONGOLAB_URL" value="mongodb://localhost/ASPNETDB"/>    
</appSettings>

...上記の値は appharbor/mongolab に置き換えられます (アプリの他の部分が機能する場合、これは正しいです)

<providers>
   <clear />
   <add name="MongoDBMembershipProvider" type="MongoDB.Web.Providers.MongoDBMembershipProvider" 
    applicationName="/"  appSettingsConnectionStringKey="MONGOLAB_URL" collection="Users"
        enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
        maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" />
</providers>

したがって、上記の構成には appSettingsConnectionStringKey パラメータがあります。カスタマイズされたプロバイダー内のコードは、appSettingsConnectionStringKey 値 'MONGOLAB_URL' を読み取り、それを使用して ConfigurationManager.AppSettings["MONGOLAB_URL"] を読み取ります。明らかに、上記の appsetting キー名と一致する必要があります。

[1]: https://github.com/osuritz

[2]: https://github.com/osuritz/MongoDB.Web/commit/b1e9534023ca8cb2e74eb1adbdcb1cd7dd693efa

于 2013-11-19T10:36:28.807 に答える
5

ASP.NET MVC 5 の標準 AccountController でデフォルトの AspNet.Identity.EntityFramework の使用を置き換えるために、MongoDB の AspNet.Identity 実装が必要ですか? はいの場合 -おそらくこれが役に立ちます- MongoDB.AspNet.Identity を完全に実装しました。

于 2013-11-16T18:23:21.843 に答える