私は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つのクラス。