作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直收到此错误,通常它与 using 语句有关,但我认为我可能搞砸了某些事情,或者我错过了 using 语句。现在我不知道那是什么。看到其他人有同样的问题,但找出要使用的 using 语句。尝试了每个 Entity Framework 语句,但似乎不需要其他语句。
“BFProj2.Models.ContextModel”不包含“SaveChanges”的定义,并且找不到接受“BFProj2.Models.ContextModel”类型的第一个参数的扩展方法“SaveChanges”(您是否缺少使用指令或程序集引用?)
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 的引用
关于c# - 错误 BFProj2.Models.ContextModel 不包含 'SaveChanges' 的定义我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28232605/
我一直收到此错误,通常它与 using 语句有关,但我认为我可能搞砸了某些事情,或者我错过了 using 语句。现在我不知道那是什么。看到其他人有同样的问题,但找出要使用的 using 语句。尝试了每
我是一名优秀的程序员,十分优秀!