Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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
C# .NET核心EF 2.1脚手架-数据库优先-如何添加更多表_C#_Asp.net Core_.net Core_Entity Framework Core - Fatal编程技术网

C# .NET核心EF 2.1脚手架-数据库优先-如何添加更多表

C# .NET核心EF 2.1脚手架-数据库优先-如何添加更多表,c#,asp.net-core,.net-core,entity-framework-core,C#,Asp.net Core,.net Core,Entity Framework Core,我有一个干净的项目解决方案(打算成为.NET核心MVC应用程序) 我有两个项目-Home.CorePoC.EntityModel和Home.CorePoC.Model 我正在从Home.CorePoC.Model调用dotnet cli 我的想法是,我希望从自定义属性和数据库属性中分离部分类和逻辑 我想编写一个powershell脚本,当我想添加/删除一些表、表中的列等时,我将调用它 在dotnet CLI中,当我最初添加表时,它可以正常工作: Scaffold-DbContext "Serve

我有一个干净的项目解决方案(打算成为.NET核心MVC应用程序)

我有两个项目-Home.CorePoC.EntityModel和Home.CorePoC.Model 我正在从Home.CorePoC.Model调用dotnet cli

我的想法是,我希望从自定义属性和数据库属性中分离部分类和逻辑

我想编写一个powershell脚本,当我想添加/删除一些表、表中的列等时,我将调用它

在dotnet CLI中,当我最初添加表时,它可以正常工作:

Scaffold-DbContext "Server=sqlServ2016;Database=TestDb;Persist Security 
Info=False;User ID=admin;Password=admin;" Microsoft.EntityFrameworkCore.SqlServer 
-Tables "Table1","Table2","Table3" -ContextDir "..\Home.CorePoC.EntityModel" 
-OutputDir "TestDB" -force -DataAnnotations -UseDatabaseNames
现在,当我只想添加更多的表时,它也可以工作,但我有一条错误消息:“无法添加‘Table4’。此文件夹中已经有一个同名的链接文件。” 此外,我在cli控制台中发现错误:

Exception calling "AddFromFile" with "1" argument(s): "A drag operation is already in progress (Exception from HRESULT: 0x80040103)"
我必须删除所有文件,然后重新创建它(最初创建的链接文件TestContext.cs),或者有不同的方法来避免此非关键错误消息(我成功地将表4添加到模型中)


我计划将此语句放入powershell脚本中,该脚本将从项目文件夹(我在其中安装了nuget Microsoft.EntityFrameworkCore.Tools(2.1.4))

调用,因为它将尝试为
表4
添加
上下文
文件,但无法执行,因为该文件已经存在。现在已经有了一个更新实体框架核心框架的方法,而不必每次都重新创建它们。每次都必须使用
-Force
标志覆盖生成的实体

我已经包括-Force标志。很明显,它是有效的,但我得到了相同的错误。此外,如果您知道如何通过cli控制台删除链接文件(将文件添加为链接),我将不胜感激。谢谢教授,我完全没想到你会把
-Force
标志挂上。当您说您正在使用
Scaffold DbContext
时,我假定您正在使用
包管理器控制台进入Scaffold?如果您正在创建Powershell脚本,我建议使用dotnet cli命令结构
dotnet ef dbcontext scaffold“Server=。\SQLEXPRESS;Database=SchoolDB;Trusted_Connection=True;”Microsoft.EntityFrameworkCore.SqlServer-o Models
from还可以查看在完成迁移时出现与您相同错误的地方。