当我调试我的应用程序时,我发现下面的代码行没有调用我的服务层中的任何方法:
private Lazy<List<userAudit>> lazyList = null;
lazyList = new Lazy<List<userAudit>>(() => client.GetAudit(10).ToList());
Run Code Online (Sandbox Code Playgroud)
而且,我的GetAudit方法将返回审计对象的列表,下面是它的定义:
public List<t_user_audit> GetAudit(int id)
{
return _work.GetGenericRepositoryFor<List<userAudit>>().GetByID(id);
}
Run Code Online (Sandbox Code Playgroud)
并且,在上面的定义中,我在GetAudit方法中插入了一个断点,但是当编译器没有到达断点并且只是将NULL值返回给我时。
我不知道我在哪里犯了错误或者代码有什么问题。
我正在关注您能否解释延迟加载文章。
所述的点Lazy类是,根据文档对Provides support for lazy initialization.
所以这是正常的
lazyList = new Lazy<List<userAudit>>(() => client.GetAudit(10).ToList());
Run Code Online (Sandbox Code Playgroud)
不调用这个方法。
但是,如果您使用Value属性,它将被调用