小编use*_*992的帖子

为Microsoft.EntityFrameworkCore.Install检测到版本冲突

将asp.net核心api添加到我正在处理的现有项目时,出现以下错误。

“直接检测到Microsoft.EntityFrameworkCore.Install /引用Microsoft.EntityFrameworkCore 2.2.1的版本冲突,以解决该问题”

我尝试添加Nuget程序包,但在许多不同的程序包中出现了进一步的版本冲突,并且该过程始终失败。起初我以为这可能是我的项目的问题,所以我从头开始了一个新的解决方案,并设法通过几个简单的步骤来复制该问题。

  1. 创建一个新的解决方案(EFDemo)
  2. 将新的.net Core类库添加到名为EFDemo.BL的解决方案中
  3. 将以下Nuget包添加到项目EFDemo.BL中(因为我正在为新项目使用现有数据库)
  4. Microsoft.EntityFrameworkCore.SqlServer(v2.2.1)
  5. Microsoft.EntityFraneworkCore.Tools(v2.2.1)
  6. 添加一个名为EFDemo.Api的新.net核心Web应用程序,然后选择API项目模板。
  7. 将引用从EFDemo.BL添加到EFDemo.Api。
  8. 构建并查看故障。

我已经阅读了以下文章,但是它的解决方案对我不起作用,因为我的任何csproj文件都没有引用“ Microsoft.EntityFrameworkCore”。 检测到NuGet软件包的版本冲突

我还重新安装了.net SDK,重新启动了100万次,但仍然无法理解问题所在。

c# .net-core asp.net-core-webapi ef-core-2.1

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

WPF堆栈面板集中对齐

我希望能够集中对齐堆栈面板中的按钮.按钮数是动态的,并在加载控件时生成.例如,如果生成1个按钮,则此按钮应放在控件的中心.如果显示5个按钮,那么所有5个按钮应相互水平对齐,但是控件的中心位置.

另一种方法是让控件根据其内容动态调整大小,以便使用更多按钮更宽,然后在页面上水平对齐用户控件,但我不确定如何处理任何一种解决方案?

有人有什么想法吗?

.net silverlight wpf

11
推荐指数
2
解决办法
2万
查看次数

实体框架死锁

我遇到了一直处理的特定实现问题.我有一个基本方法,它创建一个新的上下文,查询一个表并从表中获取"LastNumberUsed",在最终递增和写回之前对这个数字执行一些基本检查 - 所有这些都在一个事务中.

我编写了一个基本的测试应用程序,它使用Parallel.For执行此方法5次.使用Isolation.Serialization我发现在运行此代码时会出现很多死锁错误.我已经阅读了这个主题,并尝试将隔离级别更改为快照.我不再遇到死锁,而是发现我得到了隔离更新冲突错误.

我真的不知所措.每个事务需要大约0.009秒才能完成,所以我一直在想着将代码包装在try..catch中,检查死锁错误并再次运行,但这感觉就像一个混乱的解决方案.

有没有人对如何处理这个问题有任何想法(或者最好是经验)?

我创建了一个控制台应用程序来演示这个.在程序主目录中,我运行以下代码:

    Parallel.For(0, totalRequests, 
          x => TestContract(x, contractId, incrementBy, maxRetries));
Run Code Online (Sandbox Code Playgroud)

TestContract方法如下所示:

//Define the context
using (var context = new Entities())
{
    //Define a new transaction
    var options = new TransactionOptions {IsolationLevel = IsolationLevel.Serializable};
    using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
    {
        //Get the contract details
        var contract = (
            from c in context.ContractRanges
            where c.ContractId == contractId
            select c).FirstOrDefault();

        //Simulate activity
        Threading.Thread.sleep(50);

        //Increment the contract number
        contract.Number++;

        //Save the changes made to the context
        context.SaveChanges(); …
Run Code Online (Sandbox Code Playgroud)

c# sql-server entity-framework

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