如何将DbContext强制转换为MyContext

时间:2019-06-19 07:35:22

标签: c# entity-framework dbcontext

我有一个具有属性DbContext Db的接口。然后,我有一个实现此接口的类。在该类中,我想将MyContext分配给属性Db。这可行,但是我无法将Db强制转换为MyContext。我应该如何正确地进行演员阵容?

public interface ILine
{
    DbContext Db { get; }
}
public class Line: ILine
{
    public DbContext Db { get; private set; }

    public int SomeMethod()
    {
        using(Db = new MyContext()){
        //var temp = (MyContext)Db.rall.where(p=>p.id = 1).count();
        // Line above cant be compiled, .rall is underlined, is specific for MyContext
        }
    }
}

2 个答案:

答案 0 :(得分:1)

投射的优先级低于点运算符。试试

y

答案 1 :(得分:0)

如果您的上下文没有协方差和协方差问题 http://tomasp.net/blog/variance-explained.aspx/ 您可以这样使用

    (Db  as MyContext).rall.where(p=>p.id = 1).count();