.netコアライブラリのリポジトリクラスにいくつかの関数をラップする必要があります。しかし、私のコンストラクタには適切なコンストラクタがないという誤解があります。私は間違って何をしていますか? は、ここに私のDBcontextコードです.netコアライブラリからリポジトリにアクセス
public class effMercContext : DbContext
{
public DbSet<Department> Departments { get; set; }
public DbSet<Employee> Employees { get; set; }
public DbSet<Project> Projects { get; set; }
public effMercContext(DbContextOptions<effMercContext> options)
: base(options)
{
}
}
public class EffMercDbContextFactory : IDbContextFactory<effMercContext>
{
public effMercContext Create(DbContextFactoryOptions options)
{
var builder = new DbContextOptionsBuilder<effMercContext>();
builder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=pinchdb;Trusted_Connection=True;MultipleActiveResultSets=true");
return new effMercContext(builder.Options);
}
}
マイリポジトリクラスこれまでにあなたがここにパラメータなしのコンストラクタを呼び出すためだ
public class EmployeeRepository
{
public Employee GetByID(int id)
{
using (effMercContext db = new effMercContext())
{
}
}
}
に従うことができます学習するには、次の...
としてあなた
EmployeeRepository
を変更することができます特定の引数をそのコンストラクタに渡すことによってのみインスタンス化できるクラスを定義し、コンストラクタに引数を渡さずにインスタンス化しようとすると、動作しません。どの部分が明白でないか、クラスのコンストラクタが引数を必要とすること、コンストラクタに引数を渡さないこと、またはその結果として生じるエラー?どの部分が不明であるかを説明することで、その部分に答えを集中させることができます。 – hvd私はリポジトリの実装方法がわかりません。私はこのような[リンク](https://docs.asp.net/ja/latest/fundamentals/dependency-injection.html#using-framework-provided-services)を作っていますが、.netコアライブラリでは、インターフェイスではなく、クラス内 –
@ВасяПупкинしかし、あなたの質問はこのトピックを処理しません。これは、あなたの 'DbContext'のエラーです。このトピックに属している新しい質問をしてください – rbr94