0

我有一个 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;
    }

当我需要没有相关实体的产品列表时,一切正常,

将参数'isLazyLoading'传递给true时,我看到它在上下文配置中是很好的令牌,但没有加载相关实体,

我想避免“包含”方式......

任何想法如何解决这个问题?

4

1 回答 1

0

我需要这两行:

context.Configuration.LazyLoadingEnabled = isLazyLoading;
context.Configuration.ProxyCreationEnabled = isLazyLoading;

(代理创建默认关闭)

谢谢我的莉莉!

于 2013-05-27T21:58:13.780 回答