当我从2.0升级到.NET Core 2.1后尝试将我的应用程序发布到Web服务器时,我收到此消息:"此版本的Microsoft.AspNetCore.All仅与netcoreapp2.1目标框架兼容.请定位netcoreapp2. 1或选择与netcoreapp2.0兼容的Microsoft.AspNetCore.All版本."
它在我的开发机器上运行良好.
这是我的项目文件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我已经看过了,但似乎没有问题.我还尝试了CodeGeneration.Tools的预发布2.1版本,但我无法安装它.
编辑:我在服务器上安装了dotnet 2.1.
这是我在服务器上看到的内容:
D:\>dotnet --info
Host (useful for support):
Version: 2.1.0
Commit: caa7b7e2ba
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program …Run Code Online (Sandbox Code Playgroud) 我有以下LINQ到实体查询
from r in ctx.Rs
join p in ctx.Ps on r.RK equals p.RK
group r by r.QK into gr
select new { QK = (int)gr.Key, Num = gr.Count() }
Run Code Online (Sandbox Code Playgroud)
针对此架构运行
Table P Table R Table Q
PK*
RK ----> RK*
Text QK ------> QK*
Text Text
Run Code Online (Sandbox Code Playgroud)
如果Q中有任何记录,并且P中没有相应的记录,则给出此消息:"转换为值类型'Int32'失败,因为具体化值为null.结果类型的泛型参数或查询必须使用可空类型. "
问题是最后一行中的gr.Count(),但我找不到解决方案.我试图测试gr为null,但找不到有效的方法.
我已经看到使用Sum()而不是Count()的类似问题的一些解决方案,但我无法使它们适应我的问题.
我尝试将查询更改为在Linq问题中的Group和Count中的查询,但我只是得到了不同的消息.
我还查看了实体框架中的Group and Count(以及其他一些),但问题不同.
我有一个从 MS SQL 数据库创建的非常复杂的 EF 模型。(我使用的是 EF 6.1.0。)我向数据库添加了一个表并执行了“从数据库更新模型”。不幸的是,出了点问题,虽然在 .edmx 文件(如 XML 编辑器中看到的)中为表及其关系(所有正确和完整,据我所知)生成了大量 XML,但没有生成类声明. 当我在 .tt 下查看模型中所有表的 .cs 文件所在的位置时,该类没有 .cs 文件。由于该类已经在 .edmx 文件中,我无法重复“从数据库更新模型”。
过去我以这种方式在模型中添加了许多表,我看不出这个表有什么不同。
以下是我尝试过的一些事情:
有人有建议吗?先感谢您。
c# sql-server visual-studio database-first entity-framework-6
在.NETCore中,是否有一种方法可以使C#我的异常处理程序中的代码在连接调试器时总是中断,就像Debugger.Break()前面的代码一样.NET?