2017-03-10 8 views
0

ASP .NETで大規模なMVC Webアプリケーションを開発しています。 私はコードファーストではなくデータベースファーストとして作成します。個々のユーザとWebアプリケーションを作成することによりASP .NET MVCデータベース第1個別ユーザーアカウント

は、認証アカウントには、モデル、ビュー、コントローラとそれ用のデータベースを作成します

かなりいいである。しかし、私はで私のホストされたデータベースを使用するには、移行を変更したいです雲。私はIdentityModel.cs[base("DefaultConnection",...)]をホストデータベースを使用するように変更しようとしましたが、私も変更しようとしましたWeb.config

それは良い考えではありませんでした! :D

お願いします。

答えて

1

Web.configファイルの "DefaultConnection" ConnectionStringを検索し、リモートサーバーの情報と置き換えるだけで、ホストされているデータベースに接続するだけで十分です。

それは次のようになります。あなたが行うように私はプロジェクトに取り組んで

<add name="DefaultConnection" connectionString="data source=**YourServer**;initial catalog=**YourDatabaseName**;user id=**DatabaseUsername**;password=**DatabasePassword**" providerName="System.Data.SqlClient" /> 
0

。私はデータベースファーストアプローチを使用しています。個別ユーザー認証を使用してプロジェクトを作成したら、これらのユーザーテーブルをデータベースに転送する必要があります。スキーマ比較でこれを行うことができます。 SQL Server Object Explorer

>右クリック>ユーザーテーブルが含まれているあなたのlocaldbを検索する>Schema Compare

schema compare

次にターゲット(データベース)を選択し、右コーナーでCompareをクリックしてください。

データベースに転送する表を選択します。

この編集にWeb.configファイルを実行した後:

<add name="DefaultConnection" connectionString="Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" /> 

(これれたconnectionStringは、デフォルトのモデルは、プロジェクトが提供するコントローラとアクションを使用することですあなたはユーザー操作のための独自の関数を作成したい場合にのみ追加する必要があります。

ここでプロバイダ名は重要です。それを偶然にしないでください。この接続文字列は、ユーザー操作のためのものです。

そして、エンティティフレームワーク

<add name="YourEntityName" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=YourServerNameL;initial catalog=YourDBName;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

providerNameであなたの他のテーブルを使用するADO.NETエンティティデータモデルを追加するには、ここにも重要です。