Как привести DbContext к MyContext - PullRequest
0 голосов
/ 19 июня 2019

У меня есть интерфейс со свойством 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 ]

1 голос
/ 19 июня 2019

Приведение имеет более низкий приоритет, чем оператор точки. Попробуйте

((MyContext)Db).rall

0 голосов
/ 19 июня 2019

если в вашем контексте нет проблем Ковариации и Контравариантности http://tomasp.net/blog/variance-explained.aspx/, вы можете использовать вот так

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