小编The*_*Dog的帖子

实体框架6事务回滚

使用EF6,您可以使用以下新事务:

using (var context = new PostEntityContainer())
        {
            using (var dbcxtransaction = context.Database.BeginTransaction())
            {
                try
                {
                    PostInformation NewPost = new PostInformation()
                    {
                        PostId = 101,
                        Content = "This is my first Post related to Entity Model",
                        Title = "Transaction in EF 6 beta"
                    };
                    context.Post_Details.Add(NewPost);
                    context.SaveChanges();
                    PostAdditionalInformation PostInformation = new PostAdditionalInformation()
                    {
                        PostId = (101),
                        PostName = "Working With Transaction in Entity Model 6 Beta Version"
                    };

                    context.PostAddtional_Details.Add(PostInformation);
                    context.SaveChanges();

                    dbcxtransaction.Commit();
                }
                catch
                {
                    dbcxtransaction.Rollback();
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

当事情横盘整理时,实际上需要回滚吗?我很好奇,因为提交描述说:"提交基础商店交易."

而回滚描述说:"回滚基础商店交易."

这让我感到很好奇,因为在我看来,如果没有调用Commit,先前执行的命令将不会被存储(这对我来说似乎是合乎逻辑的).但如果是这种情况,那么调用Rollback函数的原因是什么?在EF5中我使用了TransactionScope,它没有回滚功能(只有一个完整的),这对我来说似乎是合乎逻辑的.由于MS …

c# sql-server entity-framework transactions entity-framework-6

73
推荐指数
3
解决办法
6万
查看次数

自定义语法突出显示颜色设置在下次启动时被重置/覆盖

我目前没有扩展名,但是VS2019在每次启动时都会在语法上强制使用以下紫色/金色:

VS2019

如果我转到选项>环境>字体和颜色,然后单击“使用默认值”,我将再次获得正确的(蓝色)主题。但是,如果我重新启动VS,它将再次损坏。

我在同一台机器上运行VS2017,并且可以正常工作。

我是否在某处缺少设置,或者这是VS2019中的错误?我已经将它重新安装了几次,并清除了我在注册表和磁盘中可以找到的所有设置,但是问题仍然存在。

另外,“ 导入和导出设置...”也无法正常工作。如果我尝试将所有设置,我只能点击一次下一步,然后将以下后接下来的窗口中消失(同与导入选定的环境设置)。

c# visual-studio-2019

8
推荐指数
2
解决办法
839
查看次数

读取目录文件信息

当您在资源管理器中打开目录文件 (.cat) 时,您会看到一个“安全目录”选项卡,其中包含多个目录条目(在其术语列表条目详细信息上)。我需要阅读这些条目详细信息,但我绝对找不到任何关于如何执行此操作的信息,更不用说在 C# 中了。我不关心目录文件的验证,我只需要访问这些信息。

这就是我正在谈论的选项卡和信息。

资源管理器中的“安全目录”选项卡

谢谢你!

c# windows security winapi catalog

7
推荐指数
1
解决办法
2594
查看次数

在menuitem中输入WPF ContextMenu itemtemplate,menuitem

我有以下xaml:

<ContextMenu ItemsSource="{Binding TestItems}">
     <ContextMenu.ItemTemplate>
          <DataTemplate DataType="models:TestItemModel">
              <MenuItem IsChecked="{Binding IsSelected}" Header="{Binding Header}"  />
          </DataTemplate>
     </ContextMenu.ItemTemplate>
</ContextMenu>
Run Code Online (Sandbox Code Playgroud)

TestItemModel类仅包含IsSelected布尔属性和Header字符串属性.

TestItems是TestItemModels的列表.

数据绑定到contextmenu,但它在UI中反映为MenuItem中的MenuItem(具有额外的边距,使菜单非常大).我可以通过将DataTemplate中的MenuItem更改为TextBox来解决这个问题,但是我不能再绑定IsSelected(我需要可视化属性).

我对此有几个问题:

  • 为什么MenuItem中有MenuItem?这对我来说没有意义,因为它没有绑定到menuitem列表而是绑定到TestItemModel列表.
  • 我该如何解决这个问题?

c# wpf contextmenu menuitem

7
推荐指数
1
解决办法
9049
查看次数

WPF - 在具有自定义复选框样式的 DataGrid 中 IsReadOnly 不起作用

我目前有一个在 DataGrid 中使用的自定义复选框样式。但是,当我在 DataGridCheckBoxColumn 中指定 IsReadOnly="true" 属性时,这不再起作用(我仍然可以单击并更改复选框的值)。我还使用Expression Blend提取了原始WPF样式的副本,这个也有同样的问题。只有原始的 CheckBox 样式似乎有效,这是我不想要的。

我目前设法通过基于正常样式创建一种新样式来解决此问题,并将 IsHitTestVisible 和 Focusable 属性设置为 false,但我希望 DataGridCheckBoxColumn 中的 IsReadOnly 属性无需此解决方法即可工作。

我怎样才能达到这个结果?

wpf checkbox datagrid

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

Caliburn.Micro,如何访问视图中使用的实际视图模型

我想访问当前在视图中使用的实际viewmodel (代码隐藏).在引导程序中,我将viewmodel设置为perrequest,因此我无法使用IoC.Get <.. ViewModel>(); (我也不想改变这种行为).

基本上,我正在寻找屏幕上相当于GetView的东西,但反过来说.

wpf xaml code-behind caliburn caliburn.micro

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

Wi-Fi Direct UWP超时(HRESULT的异常:0x800705B4)

我正在使用UWP API启动Wi-Fi Direct接入点服务。它开始确定。我正在使用事件WiFiDirectConnectionListener监视是否已连接到访问点的设备ConnectionRequested

var connectionRequest = args.GetConnectionRequest();
var deviceInformation = connectionRequest.DeviceInformation;

// FromIdAsync needs to be called from the UI thread (in MS example).
var isConnected = RunOnUIThreadAsync(() =>
{
    try
    {
        var device = WiFiDirectDevice.FromIdAsync(deviceInformation.Id).AsTask().Result;
        if (device != null)
        {
            device.ConnectionStatusChanged -= OnDeviceConnectionStatusChanged;
            device.ConnectionStatusChanged += OnDeviceConnectionStatusChanged;

            return true;
        }

        return false;
    }
    catch (Exception e)
    {
        // This throws an Exception from HRESULT: 0x800705B4.
        return false;
    }
}).Result; 
Run Code Online (Sandbox Code Playgroud)

在那可以连接到接入点一些设备,抛出一个异常调用上FromIdAsync使用

由于超时时间已过期,此操作返回。(来自HRESULT的异常:0x800705B4)。

反过来,尝试访问接入点的设备将无法连接。

总是无法连接的设备都是相同的,而其他设备连接得很好。我试过有无UI线程,但结果保持不变。我使用的错误吗?还是Wi-Fi Direct中的错误?如果是这样,是否有另一种方法可以在没有UWP …

c# wifi wifi-direct uwp

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