小编Sir*_*rne的帖子

EntityFramwork,使用多个数据库/连接

我有以下问题.我正在使用Entity Framework 6,我希望能够在运行时或至少更改已使用的数据库我希望能够在选项中输入时检查连接信息.我的问题是我们想要支持MySql和LocalDB v12.0这么简单的交换连接字符串在这里没有帮助 - 我必须交换ExecutionStrategy和ConnectionFactory.

EF似乎锁定了所有配置,所以我无法在运行时更改它,是否有一个解决方案呢?目前我已经尝试创建了几个DbConfigurations,并为每个配置派生了一个定义的上下文[DbConfigurationType(typeof(LocalDbConfigruation))].

我预计这会失败,但我认为这值得一试;)

也许有人在那里可以帮我解决一些问题和技巧.

c# mysql entity-framework

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

用表达式编写自己的断言函数

我想创建Assert类似于下面的代码的自己的方法,但它不起作用.

// Method Usage
Argument.Assert(() => Measurements.Count > 0);

// Method Implementation
public static void Assert(Expression<bool> expression)
{
  bool value = expression.Compile();
  if(!value)
  {
    throw new InvalidOperationException("Assert: " + expression.ToString() + " may not be false!");
  }
}
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?错误是:'Error 1 Cannot convert lambda to an expression tree whose type argument 'bool' is not a delegate type'.

首先我有Expression<Func<bool>> expression,expression.Compile()()但这总是崩溃TargetInvocationException.

c# lambda expression

4
推荐指数
1
解决办法
374
查看次数

在Windows 10 Tablet模式下为一个应用程序禁用虚拟键盘

我们为Touch Devices编写了一个C#/ WPF应用程序,并且已经实现了我们自己的虚拟键盘.自Windows 10周年(或更早)以来,我们在"平板电脑模式"下遇到设备问题.只要输入字段被聚焦,就会打开默认的OSK.

所以问题是:是否可以在我们的应用程序中禁用集成的OSK?如果没有,是否可以通过注册表或设置禁用OSK for JUST OUR APPLICATION?

c# windows wpf on-screen-keyboard

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