Entity framework 动态懒散加载实体框架
我有一个sqlSever数据库,使用EF 5进行反向工程 默认情况下,延迟加载是禁用的,我需要通过向我的方法传递一个参数,动态地告诉上下文是否应该包括相关实体(延迟加载):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
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;
(默认情况下,代理创建处于关闭状态)
谢谢我的莉莉 您是否启用了代理创建?谢谢!就这样!非常感谢!