gpt4 book ai didi

c# - 实例化实体模型时看不到 dbcontext 方法即 savechanges

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:12 25 4
gpt4 key购买 nike

我正在尝试使用 EF 实体模型和 WCF 服务构建解决方案。在 wcf 服务中,我实例化了实体模型(它继承了 DbContext)。我可以很好地使用它进行查询,但是当我尝试保存更改时,我在调用它时得到“不包含‘SaveChanges’的定义”。有什么想法吗?

模型的定义

    namespace ProductsEntityModel
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;

public partial class AdventureWorksEntities : DbContext
{
public AdventureWorksEntities()
: base("name=AdventureWorksEntities")
{
}

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}

public DbSet<Product> Products { get; set; }
public DbSet<ProductInventory> ProductInventories { get; set; }
}
}

这是发生错误的代码...我不应该在 Intellisense 中看到的只是定义的实体(没有其他方法)

        public bool ChangeStockLevel(string productNumber, short newStockLevel, string shelf, int bin)
{
try
{
AdventureWorksEntities database = new AdventureWorksEntities();

int productID = (from Product p in database.Products
where string.Compare(p.ProductNumber, productNumber) == 0
select p.ProductID).First();

ProductInventory productInventory = database.ProductInventories.First(
pi => String.Compare(pi.Shelf,shelf) == 0 &&
pi.Bin == bin &&
pi.ProductID == productID
);

productInventory.Quantity += newStockLevel;

database.SaveChanges() //CANNOT SEE SAVECHANGES HERE
}
catch
{
return false;
}

return true;
}

任何帮助都是有用的。这是书中的一个例子(如果有什么不对劲,我不是自己写的):-)

最佳答案

我刚刚弄明白了...我必须在 WCF 项目中引用 EntityFramework.dll :-)

关于c# - 实例化实体模型时看不到 dbcontext 方法即 savechanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562723/

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