Entity framework Dbcontext scaffold.NETCore2.1生成下面的算法
表格: 创建表[dbo].[test1]([test1][int]不为空, 约束[PK_test1]主键群集([test1]ASC) 命令: dotnet ef dbcontext scaffold“Server=tcp:db-sql-37033416\;Initial Catalog=GISPROCESS;Trusted_Connection=True;”Microsoft.EntityFrameworkC ore.SqlServer-o Models-t test1--schema dbo 错误: 将表达式转换为数据类型bigint时出现算术溢出错误Entity framework Dbcontext scaffold.NETCore2.1生成下面的算法,entity-framework,.net-core,Entity Framework,.net Core,表格: 创建表[dbo].[test1]([test1][int]不为空, 约束[PK_test1]主键群集([test1]ASC) 命令: dotnet ef dbcontext scaffold“Server=tcp:db-sql-37033416\;Initial Catalog=GISPROCESS;Trusted_Connection=True;”Microsoft.EntityFrameworkC ore.SqlServer-o Models-t test1--schema dbo
我可以发布完整的堆栈跟踪,但我想我应该从这个开始。无法重新复制。请从空目录运行此命令:
rm *
$sql = @"
drop table if exists test1;
CREATE TABLE [dbo].[test1]
(
[test1] [int] NOT NULL,
CONSTRAINT [PK_test1] PRIMARY KEY CLUSTERED ([test1] ASC)
)
"@
Invoke-Sqlcmd -server . -database tempdb -Query $sql
dotnet new console -n test
$proj = @"
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
</ItemGroup>
</Project>
"@
$proj | out-file -FilePath test.csproj
dotnet restore
dotnet ef dbcontext scaffold "Server=.;Initial Catalog=tempdb;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models -t test1 --schema dbo
type Models\test1.cs
rm*
$sql=@“
如果存在test1,则删除表;
创建表[dbo]。[test1]
(
[test1][int]不为空,
约束[PK_test1]主键群集([test1]ASC)
)
"@
调用Sqlcmd-server.-database tempdb-Query$sql
dotnet新控制台-n测试
$proj=@”
Exe
netcoreapp2.0
"@
$proj | out文件-FilePath test.csproj
网络还原
dotnet ef dbcontext scaffold“Server=;Initial Catalog=tempdb;Trusted_Connection=True;”Microsoft.EntityFrameworkCore.SqlServer-o Models-t test1-schema dbo
类型Models\test1.cs
谢谢。我按照您的步骤只对服务器和数据库进行了更改(我在tempdb中没有创建权限)。同样的错误(算术溢出)。我们使用的是Sql server 2014-这可能是问题所在吗?不太可能是Sql 2014。接下来尝试Sql Profiler并捕获导致错误的语句。