2011-07-27 2 views
1

aspnet_regsql.exeによって作成されたテーブルをエンティティモデルに持ち込むことは良い考えではないと聞きました。それらをモデルから削除することはできますか、それとも別のデータベースに保存することをお勧めしますか?エンティティフレームワークモデルを使用している場合は、別のデータベースにaspnet_regsqlテーブルを持つ方がよいですか?

答えて

2

デフォルトでは、アプリケーションデータベースとは別の "aspnetdb"データベースを作成します。必要に応じてデータベースに名前を付けることができますが、個別のApplication Servicesデータベースを持つことがベストプラクティスです。ユーザーストアを分離し、ユーザーストアを他のデータベースとの間で競合が発生するのを防ぎます。

また、.Net Frameworkに含まれているクラスを使用して、アプリケーションサービスデータベースとやりとりする必要があります。 EFクラスとは別の独自のデータアクセスレイヤーを持っています。 EFを使用してデータベースで直接作業する必要はないので、EFを分離する方が理にかなっています。

2

このツールで作成されたテーブルは、ASPプロバイダ用であり、それらによって使用されます。モデルでこれらのテーブルを使用すると、プロバイダが期待しないデータを変更するリスクがあります。モデルからそれらを削除すると、このリスクは削除されます。あなたはまだExecute()経由でデータを変更する可能性がありますが、個人的には同じデータベースにいることに問題はありません。

関連する問題