Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 动态懒散加载实体框架_Entity Framework_Linq To Sql_Lazy Loading_Eager Loading - Fatal编程技术网

Entity framework 动态懒散加载实体框架

Entity framework 动态懒散加载实体框架,entity-framework,linq-to-sql,lazy-loading,eager-loading,Entity Framework,Linq To Sql,Lazy Loading,Eager Loading,我有一个sqlSever数据库,使用EF 5进行反向工程 默认情况下,延迟加载是禁用的,我需要通过向我的方法传递一个参数,动态地告诉上下文是否应该包括相关实体(延迟加载): public static IEnumerable<Products> getProductsList(SearchQuery<Product> SearchQuery, bool isLazyLoading=false) { var context = new Contex

我有一个sqlSever数据库,使用EF 5进行反向工程

默认情况下,延迟加载是禁用的,我需要通过向我的方法传递一个参数,动态地告诉上下文是否应该包括相关实体(延迟加载):

 public static IEnumerable<Products> getProductsList(SearchQuery<Product> SearchQuery, bool isLazyLoading=false)
    {
        var context = new Context();
        var dataBaseInitializer = new DataBaseInitializer();
        dataBaseInitializer.InitializeDatabase(context);
        // if I need related entities, I Need to enable lazy loading
        context.Configuration.LazyLoadingEnabled = isLazyLoading;
        var ProductsRepository = new Repository<Product>(context);
        var ProductsList = ProductsRepository.Search(SearchQuery);
        return ProductsList;
    }
公共静态IEnumerable getProductsList(SearchQuery,bool isLazyLoading=false)
{
var context=新上下文();
var dataBaseInitializer=新的dataBaseInitializer();
dataBaseInitializer.InitializeDatabase(上下文);
//如果我需要相关的实体,我需要启用延迟加载
context.Configuration.LazyLoadingEnabled=isLazyLoading;
var ProductsRepository=新存储库(上下文);
var ProductsList=ProductsRepository.Search(SearchQuery);
退货产品清单;
}
当我需要没有相关实体的productList时,一切都很好

当将参数'isLazyLoading'传递给true时,我看到它在上下文配置中是well标记,但没有加载相关实体

我想避免“包含”的方式


你知道怎么解决这个问题吗?

我需要这两行:

context.Configuration.LazyLoadingEnabled = isLazyLoading;
context.Configuration.ProxyCreationEnabled = isLazyLoading;
(默认情况下,代理创建处于关闭状态)


谢谢我的莉莉

您是否启用了代理创建?谢谢!就这样!非常感谢!