如何在实体框架中使用上下文
本文关键字:上下文 框架 实体 | 更新日期: 2023-09-27 18:33:56
我在MVC中以模型优先的方法制作了实体模型,我想知道如何插入,删除和修改数据。
我尝试使用
namespace EntityFrameworkModelFirst
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class ModelFirstContainer : DbContext
{
public ModelFirstContainer()
: base("name=ModelFirstContainer")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Department> DepartmentSet { get; set; }
public virtual DbSet<Employee> EmployeeSet { get; set; }
}
using (var context = new ModelFirstContainer())
{
// Perform data access using the context
}
}
但是,这对我来说是错误的。错误是:上下文单词"var"可能只出现在局部变量声明或脚本代码中,并且缺少;。现在有效吗?我在哪里可以这样做?哪些文件?
谢谢
你的使用块必须在方法中。您不能在方法之外使用它。另外,我已经删除了您的OnModelCreateing,这将引发异常。
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
namespace EntityFrameworkModelFirst
{
public partial class ModelFirstContainer : DbContext
{
public ModelFirstContainer() : base("name=ModelFirstContainer")
{
}
public virtual DbSet<Department> DepartmentSet { get; set; }
public virtual DbSet<Employee> EmployeeSet { get; set; }
}
public class SomeClass
{
public void DoSomeStuff()
{
using (var context = new ModelFirstContainer())
{
// Perform data access using the context
}
}
}
}
using 块与 IDisposable 对象一起使用,以确保它们得到正确释放。 ModelFirstContainer
继承自实现IDisposable
的DbContext
。
有关如何使用实体框架 DbContext 的教程可在此处找到:使用 DbContext
public class ProductContext : DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
using (var context = new ProductContext())
{
// Perform data access using the context
}