小编Ale*_*lek的帖子

EF6使用命令树拦截器禁用查询计划缓存

我正在使用IDbCommandTreeInterceptor软删除功能.在标准TreeCreated方法内部,我检查给定的查询命令是否包含具有软删除属性的模型.如果他们这样做并且用户也要求获取软删除对象 - 我用querySoftDeleted= 调用我的软删除访问者true.这将使我的查询返回的所有对象,那些true和那些与false价值观IsDeleted财产.

public class SoftDeleteInterceptor : IDbCommandTreeInterceptor {
    public void TreeCreated(DbCommandTreeInterceptionContext interceptionContext) {
        ...            

        bool shouldFetchSoftDeleted = context != null && context.ShouldFetchSoftDeleted;

        this.visitor = new SoftDeleteQueryVisitor(ignoredTypes, shouldFetchSoftDeleted);

        var newQuery = queryCommand.Query.Accept(this.visitor);

        ...
    }
}


public class SoftDeleteQueryVisitor {

    ...

    public override DbExpression Visit(DbScanExpression expression)
    {
        // Skip filter if all soft deleted items should be fetched
        if (this.shouldFetchSoftDeleted)
            return base.Visit(expression);

        ...
        // TODO Apply …
Run Code Online (Sandbox Code Playgroud)

c# caching entity-framework

20
推荐指数
2
解决办法
2449
查看次数

Chrome扩展程序+ Dart

可能吗?我试图将google dart api插入页面正文,我得到的只是空白页面,没有脚本运行...

google-chrome-extension dart google-chrome-app

10
推荐指数
2
解决办法
2981
查看次数

等待事件处理程序

所以这里是删除和事件

public delegate Task SomeEventHandler(SomeEventArgs e);

...


public event SomeEventHandler OnSomething;
Run Code Online (Sandbox Code Playgroud)

订阅者(多个)

some.OnSomething += DoSomething;

...

public async Task DoSomething(SomeEventArgs e) {
    await SomethingElse();
    e.A = true;
}
Run Code Online (Sandbox Code Playgroud)

事件电话

if (this.OnSomething != null)
    await this.OnSomething(args);

// Here args.A is false
// It should be true
Run Code Online (Sandbox Code Playgroud)

问题是即使DoSomething没有完成,最后一部分也会继续.会出现什么问题?

.net c# events async-await

8
推荐指数
1
解决办法
4105
查看次数

停止阻塞呼叫的线程

我正在开发一个Windows窗体应用程序,以便在通过USB连接的设备上执行少量操作.对于所有操作,如读取,写入和其他操作,我们有一个自定义库.

用户点击按钮时完成写操作.

要读取,将创建一个单独的线程.可用库的问题是Read调用是阻塞的并且具有INFINITE Timeout.

如果连接失败,该线程会在Read函数调用时停止,因为只有在收到数据时此函数才会中断.

在这种情况下杀死这个线程的方法是什么?Thread.Abort()不起作用.

我正在使用C#进行编程.

c# thread-safety blocking winforms

5
推荐指数
1
解决办法
1139
查看次数

带有编译绑定的 HubSection

我正在尝试掌握新的编译绑定,但是一开始我就被这个简单的问题阻止了。

我有Hub一个控制HubSection。本节的内容是ItemsControl需要绑定到视图模型的可观察集合。我无法让这个绑定像我期望的那样工作。

<Pivot x:Name="rootPivot" Style="{StaticResource TabsStylePivotStyle}">
    <PivotItem>
        <Hub>
            <HubSection Header="News">
                <DataTemplate x:DataType="local:HomePage">
                    <ItemsControl ItemsSource="{x:Bind ViewModel.NewsItems, Mode=OneWay}" />
Run Code Online (Sandbox Code Playgroud)

ViewModelproperty 只是一个属性,在InitializeComponents()调用之前被实例化。NewsItems是在页面加载后填充的视图模型中的可观察集合 - 异步(Web 请求)。

我在这里做错了什么?

编辑:代码隐藏

主页.xaml.cs

/// <summary>
/// Home pag view.
/// </summary>
public sealed partial class HomePage : Page
{
    /// <summary>
    /// Initializes a new instance of the <see cref="HomePage"/> class.
    /// </summary>
    public HomePage()
    {
        // Retrieve view model
        this.ViewModel = ViewModelResolver.Home;

        // Trigger view model …
Run Code Online (Sandbox Code Playgroud)

c# xaml windows-10 compiled-bindings uwp

5
推荐指数
1
解决办法
719
查看次数