我有一个干净的项目解决方案(旨在成为一个 .NET Core 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)或者有不同的方法如何避免这个非关键的错误消息(我成功地将 Table4 添加到我的模型)。
我打算将此语句放入将从项目文件夹(我已安装 nuget Microsoft.EntityFrameworkCore.Tools(2.1.4))调用的 PowerShell 脚本中
最佳答案
那是因为它会尝试为 Table4
添加 Context
文件,但无法添加,因为它已经存在。已经有一个feature request更新 Entity Framework Core 脚手架,而不必每次都重新创建它们。您每次都必须使用 -Force
标志
关于c# - .NET Core EF 2.1 脚手架-数据库优先-如何添加更多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53610684/