繁体   English   中英

将实体上下文传递给类构造函数

[英]Passing entity context into class constructor

我对Entity Framework还是有点陌生​​,所以我仍在研究一些基础知识。 我有一个数据访问层,可以完成大部分繁重的工作。 但是,当我学习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;
    }
}

在“字段初始化器无法引用非静态字段,方法或属性”时出错。 我想念什么? 或者,我应该以其他方式执行此操作吗?

该错误从某种意义上说是奇怪的,它告诉您静态方法中发生的某些事情。 在静态方法中运行时,不能使用实例级成员,这就是该错误的含义。 您可以粘贴报告错误的确切代码吗?

除了错误,还有一条建议。 不要在前端创建数据上下文。 这意味着前端与上下文有着不可撤销的联系。 没有办法模拟它,没有办法自动测试它,也没有办法用任何其他实现替换它,等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM