私はASP.netMVCの初心者です。そしてそれはWebFormsよりもずっと好きです。
そこで、約6つのテーブルを含むプロジェクトを開始することにしました。
- ギャラリー
- 管理者
- セッション
- SessionImages
- オファー
- 情報
私は2つのプロジェクトを作成しました:FP.WebUIとFP.Domain。
ドメインプロジェクト内に、3つのフォルダーAbstractとConcreteを作成しましたEntities。
Abstractフォルダー内には、6つのインターフェースなどがあります。各インターフェースには次のようなものがありますIGallery。ISessions
namespace FP.Domain.Abstract
{
public interface IGallery
{
IQueryable<Gallery> Gallery { get; }
}
}
そして、Concreteフォルダ内には別の7つのクラスがあります:EFDbGallery、EFDbSessions...そしてクラスEFDbContextから継承しDbContextます。
上記の各クラス(を除くEFDbContext)は、対応する各インターフェイスを実装します。
今考えてみると、すべてのエンティティを定義する1つのインターフェイスと、Concreteそのインターフェイスを実装するフォルダ内の1つのクラスのみを作成できることがわかりました。
私は本当に何が良いのかわかりません:
6つのインターフェース、エンティティごとに6つのクラス。
また
1つのインターフェース、すべてのエンティティを返す1つのクラス。