0
アプリケーションでは、DataEntityModel.edmx(エンティティフレームワークモデル)とリポジトリクラスを持つデータアクセスレイヤがあります。コードの下Entity Frameworkにオブジェクトを追加する
私のリポジトリクラスです。
namespace DataModel.Repository
{
public class ProductRepository
{
internal WebApiDbEntities Context;
internal DbSet<Product> DbSet;
public ProductRepository(WebApiDbEntities context)
{
this.Context = context;
this.DbSet = context.Set<Product>();
}
public virtual void Insert(Product entity)
{
DbSet.Add(entity);
}
}
}
質問私が挿入するDbSet.Add(エンティティ)方法を使用しているされています。しかし、Entity Frameworkは独自のAddメソッドを生成しますContext.Products.Add(エンティティ)
したがって、これら2つの方法の違いは何ですか?なぜ のほとんどの時間DbSet.Add(エンティティ)が使用されていますか?
私の質問はproductRepository.Insert()メソッドでは、dbContext.Products.Add(entity)メソッドを呼び出すことができます。しかし、なぜ私たちはdbContext.Products.Add(エンティティ)ではなくDbSet.Add(エンティティ)を使用していますか? –
はい、いずれかを使用できます。誰か(あなたは、明らかに)リポジトリパターンを導入することを決めました。これを使用してDbContextの使用を抽象化します。そう、両方を使うことができますが、いずれかを選択する必要があります。 – CodeCaster