C#EF6包含布尔值BUG,Devart.Data.MySql.Entity.EF6,Version = 8.10.1061.0

时间:2018-01-30 11:45:43

标签: c# mysql entity-framework-6 devart

我在这里需要一点帮助!

我注意到当使用EF6 Include in / foreach / aggregate循环时,返回包含的子对象布尔值的随机值:

但是当没有循环调用相同的东西时,我会得到正确的值:

因此,EF / DevArtMySQL Connector不喜欢迭代。有关解决方法的任何建议吗?

----------------------以下老问题---------------------- -

如果我按以下顺序调试我的应用程序:

我在实体,entity2和entity3子结果下面得到错误的布尔值(数据库中所有值都为false):

当我将通话顺序更改为:

我得到了适当的布尔值:

以下是IncludeQueryable的方法:

    public static IQueryable<T> IncludeQueryable<T>(this IQueryable<T> query, params string[] navProperties) where T : class
    {
        return navProperties.Aggregate(query, (current, navProperty) => current.Include(navProperty));
    }

EF6库/ DevArt MySql连接器搞乱数据,所以任何建议的解决方法?也许一些更好的聚合解决方案包括属性?我真的不想手动包含导航属性!

1 个答案:

答案 0 :(得分:0)

好的,我通过使用lambda表达式数组而不是字符串数组找到了一种解决方法......

这是我使用的回购参数:

Expression<Func<TDataAccessObject, object>>[] includes

您可以将自己的Entity类放在TDataAccessObject中,或在代码中使用Generic类型。

然而,这就是我的方式:

enter image description here