错误 BFProj2.Models.ContextModel 不包含 'SaveChanges' 的定义我错过了什么?

Error BFProj2.Models.ContextModel does not contain a definition for 'SaveChanges' what am I missing?

我不断收到此错误,通常它与 using 语句有关,但我认为我可能搞砸了某些事情,或者我错过了 using 语句。现在我不知道那是什么。看到其他人有同样的问题,但找出要使用的 using 语句。尝试了每个 Entity Framework 语句,但似乎不需要其他语句。

'BFProj2.Models.ContextModel' 不包含 'SaveChanges' 的定义,并且找不到接受类型 'BFProj2.Models.ContextModel' 的第一个参数的扩展方法 'SaveChanges'(您是否缺少 using 指令或程序集引用?)

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
using BFProj2.DAL;



namespace BFProj2.DAL
{
    [Table("DataPlacer")]
    public partial class DataPlacer : IEntity
    {
        public int csvId { get; set; }

        [Required]
        public string csvcolumn { get; set; }
    }

    public class IEntity
    {
        public int Id;
    }
}

存储库:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BFProj2.Models;
using System.Data.Entity;
using System.Data.Entity.Core.Objects;


namespace BFProj2.DAL
{

    public class DCResultsRepository : IRepository<DataPlacer>
    {

        ContextModel _DataPlacerContext;

        public DCResultsRepository()
        {
            _DataPlacerContext = new ContextModel();
        }

        public IEnumerable<DataPlacer> List
        {
            get
            {
                return _DataPlacerContext.DataPlacer;
            }
        }

        public void Add(DataPlacer entity)
        {
            //TODO: Saknas usingsats som gör att SaveChanges inte fungerar.
            _DataPlacerContext.DataPlacer.Add(entity);
            _DataPlacerContext.SaveChanges();
        }

        public void Delete(DataPlacer entity)
        {
            _DataPlacerContext.DataPlacer.Remove(entity);
            _DataPlacerContext.SaveChanges();
        }

        public void Update(DataPlacer entity)
        {
            _DataPlacerContext.Entry(entity).State = System.Data.Entity.EntityState.Modified;
            _DataPlacerContext.SaveChanges();
        }

        public DataPlacer FindById(int Id)
        {
            var result = (from r in _DataPlacerContext.DataPlacer 
                          where r.Id == Id 
                          select r).FirstOrDefault();
            return result;
        }
}

IRepository:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity.Core.Objects;

namespace BFProj2.DAL
{
    interface IRepository<T> where T:IEntity
    {

        IEnumerable<T> List { get; }
        void Add(T entity);
        void Delete(T entity);
        void Update(T entity);
        T FindById(int Id);

    }

型号:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;

namespace BFProj2.Models
{
public class ContextModel
    {
        //public object _DataPlacerContext { get; set; }

        public List<DAL.DataPlacer> DataPlacer { get; set; }
    }
}

您需要从 DbContext 继承,如下所示:-

public class ContextModel : DbContext
    {
        //public object _DataPlacerContext { get; set; }

        public List<DAL.DataPlacer> DataPlacer { get; set; }
    }

并确保您在项目中提供了 EntityFramework.dll 的引用