我意识到这个问题与this one类似,但是(我的感觉是)一个关键的区别是表面上我的代码不涉及存储过程。
基本上,我正在尝试这样做:
FormattableString fs = $"My Statment";
var x = _myEntitySet.FromSql(fs)
.Include(a => a.SubTable)
.Include(a => a.OtherTable)
.ToList();
我发现的是,如果我的SQL查询包含CTE(公用表表达式)-甚至像这样简单:
FormattableString fs = $"WITH CTE AS (SELECT 1 AS [Column1]) SELECT * From MyTable}";
我收到以下错误:
调用存储过程时不支持Include操作。
由于我没有(知道)调用存储过程,所以发现错误很奇怪,并且想知道为什么会发生此错误,以及是否有某种方法可以解决该错误,以便可以将Include
与SQL语句一起使用包括一个或多个CTE。
我正在使用Entity Framework Core 2.0。