嗨,我正在使用实体框架核心开发 web api(.net core)。我创建了如下上下文类。
public class TimeSheetContext : DbContext
{
public TimeSheetContext(DbContextOptions<TimeSheetContext> options)
: base(options)
{
}
public DbSet<Project> Projects { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<TimeSheetData> timeSheets { get; set; }
public DbSet<Week> weeks { get; set; }
}
然后我使用下面的代码添加时间表数据。
public void SaveTimeSheet(TimeSheetData timeSheet)
{
using (var context = new TimeSheetContext())
{
var std = context.timeSheets.Add(timeSheet);
context.SaveChanges();
}
}
using (var context = new TimeSheetContext())
在这里,我遇到了错误。
没有参数对应于 timesheetcontext.timesheetcontext(dbcontextoptions) 所需的形参选项
我在启动时添加了以下代码。
services.AddDbContext<TimeSheetContext>(opt =>
opt.UseSqlServer(Configuration.GetConnectionString("TimeSheet")));
然后我像下面这样使用。
public class TimeSheet : ITimesheet
{
private readonly TimeSheetContext _context;
public TimeSheet(TimeSheetContext context)
{
_context = context;
}
public TimeSheet GetTimeSheet(string userid, string weekid)
{
throw new NotImplementedException();
}
public void SaveTimeSheet(TimeSheetData timeSheet)
{
var std = _context.timeSheets.Add(timeSheet);
_context.SaveChanges();
}
}
然后我尝试在启动时注册 TimeSheet 服务,如下所示。
services.AddTransient<ITimesheet, TimeSheet>();
现在我开始在时间表附近出现错误,
timesheet 是一个命名空间,但用作类型
有人可以帮我找到这个错误。任何帮助将不胜感激。谢谢