首页 > 解决方案 > 为什么实体框架的上下文对象在控制器中声明但不能在存储库中时可以访问其属性?

问题描述

我是实体框架的新手。我正在尝试将它与 ASP.NET MVC 一起使用。当我创建实体框架模型类的对象时,即控制器中的上下文,然后上下文可以访问它的属性,即模型名称、SaveChanges属性等,但是当我在存储库中使用它时,InfoLayerRepository即使已初始化,上下文也不会访问任何内容。

为什么?

内部控制器:

public ActionResult Create()
{
    EFTestEntities context = new EFTestEntities();

    Info info = new Info()
    {
        Name = "Hunain",
        FatherName = "Hafeez Ullah Khan"
    };

    context.Info.Add(info);
    context.SaveChanges();
    return View();

}

内部回购:

using EFTest.Models;

namespace EFTest.DAL
{
    public class InfoLayer
    {
        EFTestEntities context = new EFTestEntities();

        Info info = new Info()
        {
            Name= "Hunain",
            FatherName= "Hafeez Ullah Khan"
        };
    }
} 

注意:我将实体数据模型保存在 MVC 的 Models 文件夹中。

标签: asp.netentity-frameworkasp.net-mvc-4model-view-controllerentity-framework-6

解决方案


推荐阅读