我正在使用Entity Framework Core。我想创建一个异步方法,该方法将在数据库中创建新用户,我已经包含了我需要的所有库,但是缺少了一些本应与数据库一起使用的方法,我几乎使用了每个异步方法,但是我却缺少了AddAsync和RemoveAsync。当我手动键入AddAsync时,出现以下错误消息:“错误CS1061'DbSet'不包含'AddAsync'的定义,并且找不到可访问的扩展方法'AddAsync'接受类型为'DbSet'的第一个参数(您是缺少using指令或程序集引用?)“
创建方法的类包含以下代码和库:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
using System.Data;
using Microsoft.EntityFrameworkCore;
namespace ClassLibrary
{
public class Class1 : Interface1
{
public async Task AddKorisnik(Korisnici k)
{
using (ExtentEntities context = new ExtentEntities())
{
context.Korisnici.AddAsync();
await context.SaveChangesAsync();
}
}
}
}
使用DbContext的类如下:
namespace ClassLibrary
{
using System;
using System.Linq;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class ExtentEntities : DbContext
{
public ExtentEntities()
: base("name=ExtentEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Korisnici> Korisnici { get; set; }
}
}
答案 0 :(得分:1)
将对象添加到内存DbSet<T>
中并没有什么异步的。您应该使用同步Add
方法来执行此操作。
SaveChangesAsync()
是实际上异步连接到基础数据库的方法。