Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework Dbcontext scaffold.NETCore2.1生成下面的算法_Entity Framework_.net Core - Fatal编程技术网

Entity framework Dbcontext scaffold.NETCore2.1生成下面的算法

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

表格: 创建表[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时出现算术溢出错误


我可以发布完整的堆栈跟踪,但我想我应该从这个开始。

无法重新复制。请从空目录运行此命令:

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并捕获导致错误的语句。