使用IDbSet和创建控制器

时间:2012-07-17 16:09:37

标签: entity-framework entity-framework-4 entity-framework-4.1

关于使用IDbSet和DbSet的好处,我已经阅读了这个thread。问题是,当我的上下文类实现IDbSet时,我无法创建控制器,因为我收到错误消息

"There was an error generating 'MyProject.MyNamespace.MyContext'. Try rebuilding your project."

当我改回来时,我可以创建控制器。我认为他是因为我无法实例化一个接口。

如何在实现IDbSet时创建控制器?我必须修改我的上下文类和上下文接口才能使用DbSet,添加新控制器,然后每次添加新控制器时都更改回IDbSet吗?随着我的项目的发展,这似乎是一场噩梦。

感谢。


public interface ICMSContext
{
    IDbSet<AcademicYear>        AcademicYears        { get; }
    IDbSet<Agency>              Agencies             { get; }
    IDbSet<Award>               Awards               { get; }
    IDbSet<Building>            Buildings            { get; }
    IDbSet<Campus>              Campuses             { get; }
    ...More like this
}

public interface CMSContext : DbContext, ICMSContext
{
    IDbSet<AcademicYear>        AcademicYears        { get; set}
    IDbSet<Agency>              Agencies             { get; set}
    IDbSet<Award>               Awards               { get; set}
    IDbSet<Building>            Buildings            { get; set}
    IDbSet<Campus>              Campuses             { get; set}
    ...More like this
}

不,我没有使用依赖注入。我很擅长使用实体框架和MVC(大约两个月)。我已经看过使用ninject的教程,但我不确定如何使用DI来解决这个问题,因为它仍然会使用我的CMSContext类。

感谢。

0 个答案:

没有答案