gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:00:50 25 4
gpt4 key购买 nike

我一直收到此错误,通常它与 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com