我对实体框架仍然有点陌生,所以我仍在学习一些基础知识。 我有一个数据访问层,它正在完成大部分繁重的工作。 但是,当我了解 EF 和上下文时,我意识到维护一个上下文是多么重要,尤其是在尝试更新实体对象实例的子级时。 所以我的计划是在前端创建上下文并将其传递到数据层。
前端:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
supplyEntities ctx = new supplyEntities();
GroupsClass gc = new GroupsClass(ctx);
}
}
数据层:
public class GroupsClass
{
private supplyEntities context;
public GroupsClass(supplyEntities ctx)
{
context = ctx;
}
public List<group> GetAllGroups()
{
context.do stuff;
}
}
它错误地显示"字段初始值设定项无法引用非静态字段、方法或属性"。 我错过了什么? 或者,我应该以不同的方式执行此操作吗?
从某种意义上说,这个错误很奇怪,因为它讲述了静态方法中发生的事情。在静态方法中运行时,不能使用实例级成员,这就是此错误的含义。您可以粘贴报告错误的确切代码吗?
除了错误之外,还有一条建议。不要在前端创建数据上下文。这意味着前端与上下文不可撤销地绑定在一起。没有办法模拟它,没有办法自动测试它,没有办法用任何其他实现替换它,等等。