今日、私は新しいASP.NETMVC4プロジェクトであるインターネットアプリケーションを作成しました。
アカウントコントローラーのソリューションに含まれるすべてのファイルで、次の属性が表示されました。[InitializeSimpleMembership]
[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{}
そして、web.configで適切なdbconnectionstringプロパティを提供するだけです。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.;
Initial Catalog=demo;
User ID=test;Password=test;" providerName="System.Data.SqlClient" />
また、アプリケーションを実行すると、使用可能なデータベースが存在するかどうかがチェックされ、存在しない場合はデータベースが作成され、メンバーシップテーブルもいくつか追加されます。私は新しいMVC4-インターネットアプリテンプレートに非常に感銘を受けたと言わなければなりません。
それは私の質問に私をもたらします: 私はデータベースを作成し、アプリケーションからスクリプトを実行するというアイデアが好きでした。これにテーブルを追加する方法を知りたいと思いました。
例:InitializeSimpleMembershipAttribute.cs
ファイルで、データベースが存在するかどうかを確認します。存在しない場合は、web.configに存在する資格情報を使用してデータベースを作成し、次のテーブルも追加します。
- UserProfile
- webpages_Membership
- webpages_OAuthMembership
- webpages_Roles
- webpages_UsersInRoles
これと一緒に他のテーブルを追加するには、どのような変更を加える必要がありますか?
これが可能であれば、SQLスクリプトを保持し、クリーンなデプロイごとに実行するという考えを回避できます。私はセルフホストMVCアプリ(オープンソースで、まもなくCodeplexに登場します;))に取り組んでいるので、SQLスクリプトで手を汚さずに私のアプリを使用したい人にとっては本当に良いでしょう。
これが可能かどうか誰かに知らせてもらえますか?ありがとう