小编And*_*eza的帖子

强制急切加载导航属性

我正在使用EF Code First,我有一个名为Category的导航属性,我想在每个调用中加载:

public class Product
{
    ...
    public Category Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

要做到这一点,我必须将它包含在我将在Product上进行的所有调用中

var results = from p in db.Products.Include("Category") select p;
Run Code Online (Sandbox Code Playgroud)

有没有办法让Category属性急切加载,因此在每次调用时生成一个SQL连接,而不必每次都包含它?

谢谢

c# entity-framework eager-loading

9
推荐指数
1
解决办法
3058
查看次数

如何单步进入包中的 OWIN 中间件?

我的 ASPNET 5 应用程序启动中有以下堆栈:

appBuilder.UseIdentityServerBearerTokenAuthentication();
// That calls
app.UseValidationEndpoint();
// That calls
app.UseOAuthBearerAuthentication();
// That calls
app.Use(typeof(OAuthBearerAuthenticationMiddleware), app, options);
Run Code Online (Sandbox Code Playgroud)

最后的调用添加OAuthBearerAuthenticationMiddleware到中间件管道,此类覆盖CreateHandler()返回类的新实例的方法OAuthBearerAuthenticationHandler

OAuthBearerAuthenticationHandlerclass 是处理不记名令牌的类,这就是我要介入的地方。问题是我只能在该Startup.Configure()方法中设置断点,并且该方法仅在应用程序启动时运行一次。

即使在这种情况下,我也已经开始OAuthBearerAuthenticationHandler使用从 CodePlex 下载的原始 Katana 源代码并加载适当的符号,但由于某种原因,这些符号不会向我提供有关该类的信息OAuthBearerAuthenticationHandler

我真的需要了解该类内部发生了什么,特别是该AuthenticateCoreAsync()方法,但我不知道如何捕获请求并通过管道堆栈并到达该类,因为Startup.Configure()仅被调用一次,在我的情况下我只有当我提供不记名令牌时才会出现问题。我希望我足够清楚能够得到答案:)

visual-studio-debugging owin katana owin.security

5
推荐指数
0
解决办法
684
查看次数