AddAsync()方法丢失

时间:2019-04-30 14:11:17

标签: c# .net entity-framework-core

我正在使用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; }
    }
}

1 个答案:

答案 0 :(得分:1)

将对象添加到内存DbSet<T>中并没有什么异步的。您应该使用同步Add方法来执行此操作。

SaveChangesAsync()是实际上异步连接到基础数据库的方法。