小编JB0*_*B06的帖子

使用DbContext和DbSet而不是实现存储库和工作单元

我看过很多关于实现存储库和工作单元的文章.我还看过有关如何添加额外复杂性的文章,因为DbContext已经在使用存储库和工作单元模式.

我将重构一个几乎每个实体都有一个存储库的应用程序,并希望尽可能多地删除复杂性.

任何人都可以解释/提供文章/博客/等链接,解释如何使用DbContext而不是我自己的存储库?

asp.net-mvc entity-framework unit-of-work repository-pattern

3
推荐指数
1
解决办法
3362
查看次数

C#vs COBOL十进制舍入

我正在用C#重写一个COBOL程序来计算处理钱.然而,从一些第一次计算中,一些十进制舍入是关闭的(与COBOL程序计算的不匹配).

Decimal.Round(19.87 * 2.57, 2) 在C#中返回51.07(51.0659),

COMPUTE varA = 19.87 * 2.57 在COBOL中返回51.06

在这里,COBOL将数字向下舍入,但在其他情况下,它会在C#向下舍入的情况下向上舍入.我不知所措.

这是我必须做的第一个计算之一,所以一旦数字变大,它们与COBOL输出越来越不同.(我有一份报告,我正在测试数字.)

我已经尝试了Math.Round,以及两个类的Floor和Ceiling来获得我应该看到的输出无济于事.

更新:我发现了我的问题.COBOL程序中的计算中使用的许多字段有9个小数位,但结果存储在2位小数位字段中.我在截断后进行计算,而不是之前然后截断.谢谢大家的帮助!每个答案都有帮助

c# cobol decimal rounding

2
推荐指数
1
解决办法
1601
查看次数

WPF - 停止单击带有消息框的单选按钮

我有一组动态生成的单选按钮,单击它们时,会用数据填充大量文本框。它们绑定到视图模型上的一个属性,该属性根据单选按钮的标签文本从服务中提取数据。

我想要做的是在单击单选按钮时显示一个 MessageBox,因此如果用户不小心(或故意)单击了另一个单选按钮,我可以确认这就是他们想要做的。

我可以捕获单击事件并显示一个 MessageBox,但底层属性无论如何都会改变,从而触发数据更改。有没有办法在显示 MessageBox 时停止执行?Click 事件是否使用了错误的事件?我对 WPF 很陌生。

单选按钮点击事件:

private void RadioButton_Click(object sender, RoutedEventArgs e)
{
  var radioButton = sender as RadioButton;
  MessageBoxResult result = MessageBox.Show("Choosing this sample will override any changes you've made. Continue?", "Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question);
  if (result == MessageBoxResult.Yes)
  {
    radioButton.IsChecked = true;
    return;
  }
}
Run Code Online (Sandbox Code Playgroud)

在方法的第二行之后和返回用户选择之前,无论如何都要更新属性。

c# wpf xaml

2
推荐指数
1
解决办法
1125
查看次数