问题标签 [asp.net-core-scaffolding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
540 浏览

sql-server - EFCore Scaffold-DbContext SqlClient.SqlException (0x80131904):列名无效

我正在使用实体框架核心连接到我现有的 SQL 数据库,该数据库也被其他应用程序使用,因此希望使用脚手架从所述数据库创建我的模型。我一次又一次地使用它从现有数据库创建我的模型,但这次我收到了这个错误:

Microsoft.Data.SqlClient.SqlException (0x80131904):列名“has_filter”无效。列名“filter_definition”无效。

我正在运行的命令正在尝试仅加载一个不包含错误中提到的任何列的视图。

我在包管理器控制台中运行的命令是:

仅当我尝试在此数据库上使用脚手架时才会引发错误,如果我在其他数据库中使用它,它可以完美地工作。

为什么我会收到此错误?有人可以指出我需要检查什么来解决这个问题吗?

0 投票
2 回答
49 浏览

c# - 如何在分层应用程序中创建数据库实体

我必须创建一个包含数据库的分层 .net 核心应用程序。我想用 sql-first 方法构建数据库实体。解决方案如下所示:

文本

所有项目都是类库,除了FoodSupplementCompany.Program.

我的问题是,我如何使用Scaffold-DbContext来生成FoodSupplementCompany.Data项目的实体?

0 投票
1 回答
123 浏览

c# - .net core scaffold-dbcontext - 2 dbcontexts 不能添加重复的表名

我有一个带有 2 个 dbcontexts 的 .net core 3.1 应用程序。每个都指向自己的独立数据库。但是,两个数据库都有几个同名的表:

  • Database1 表(作业和常规)
  • Database2 表(Job 和 General)

我已经为 dbContext1 添加了这些表:

现在,当我尝试为 dbContext2 添加这些表时,它会覆盖为 dbContext1 创建的实体:

如何在不覆盖为 dbContext1 创建的实体的情况下为 dbContext2 添加表?可以别名吗?

0 投票
0 回答
42 浏览

c# - 脚手架 API 控制器不同

我有两个模型,FishPlace.

Place: Coord作为主键,由用户设置。

Fish: FishId作为主键,由数据库设置,具有标识。

当我为这些实体搭建 API 控制器时,POST操作的工作方式会有所不同。

地点控制器:

鱼控制器:

是否由于数据库未设置PK,脚手架方法Place对重复项进行了额外的控制?

我还在Name数据库中将属性设置为 UNIQUE 所以我认为如果 EF 检查用户输入的唯一列,它可能也应该NameFish模型中检查?

0 投票
2 回答
554 浏览

visual-studio-2019 - 在项目根文件夹中找不到 deps.json 文件

我在 Visual Studio 2019 和 ASP.NET Core 5 项目的包管理器中运行以下命令:

过了一会儿,出现了这个错误:

请注意,deps.json 文件正在项目根目录中搜索,而不是在 bin 文件夹下,例如我在这里找到的其他帖子,因此删除 bin 和 obj 文件夹没有帮助。

如何解决?

0 投票
1 回答
340 浏览

asp.net-core - SqlException:无效的对象名称 Person.Person

我正在按照教程使用 Visual Studio 2019 项目模板在 AspNet Core 3.1 中创建示例 API,但由于我使用的是 AdventureWorks (2019) 数据库,因此我不得不进行一些更改。

数据库上下文是这样搭建的。

然后我在startup.cs中注册了这个上下文,如下所示:

我还搭建了一个 People 控制器,但是当我尝试 GetPerson() 方法时它不起作用,我收到“SqlException: Invalid object name 'Person.Person'”错误消息。

这就是错误SqlException: Invalid object name 'Person.Person'。 但是当我这样做(如下)时,它会起作用。但是,我不想这样做,因为我会错过依赖注入的全部意义,就像我看到的那样。

无论哪种情况,发送到 SQL Server 的都是这个,它工作正常。

我只是不知道这个错误来自哪里。提前致谢

0 投票
1 回答
64 浏览

asp.net-core - Ubuntu 20.04 上的身份脚手架使用不正确的文件路径 dotnet 5

输出dotnet --info

重现步骤:

  1. 安装代码生成器:dotnet tool install -g dotnet-aspnet-codegenerator
  2. 创建要脚手架的项目dotnet new webapp --auth Individual -o WebApp1
  3. cd 进入新的项目目录
  4. 安装 Microsoft.VisualStudio.Web.CodeGeneration.Design
  5. 构建项目以确保一切正常(构建正常)
  6. 运行脚手架: dotnet aspnet-codegenerator identity -dc WebApp1.Data.ApplicationDbContext --files "Account.Register;Account.Login;Account.Logout;Account.RegisterConfirmation"

预期行为:

所有 Identity.UI Razor 页面都被搭建到项目中

实际行为:

指示未找到文件的致命错误:

有关正在搭建的项目的其他信息,例如:

  • 目标框架:net5.0
  • Microsoft.AspNetCore.App 或 Microsoft.AspNetCore.All 的包版本(如果适用):5.0.1
  • Microsoft.VisualStudio.Web.CodeGeneration.Design 的包版本 - 这可以通过脚手架添加到您的项目中:5.0.1
0 投票
0 回答
270 浏览

c# - 如何在 ASP.NET Core WebAssembly .NET 5 中覆盖 Blazor Identity Server 4 中的 LoginDisplay?

也许有一些与覆盖 ASP.NET Core 3 中现有的身份验证/授权相关的问题。我的问题是在另一个特定的上下文中(不是重复的问题)。

我在 .NET 5(版本 5.0.102)、Microsoft Visual Studio Community 2019 版本 16.8.4(当前最新的技术堆栈)上使用 ASP.NET Core Blazor WebAssembly。我使用来自 Identity Server 4 的个人帐户从 Blazor WebAssembly 模板 .NET 5 的模板创建项目。

这是文件MainLayout.razor

在此处输入图像描述

当我与其他 UI 框架集成时,Identity Server 4 的 CSS 发生冲突,导致 UI 缺陷。我需要覆盖/重写 Identity Server 4 的 UI 剃须刀页面(<LoginDisplay />),该怎么做?

0 投票
1 回答
295 浏览

c# - 带有 Oracle.EntityFrameworkCore 提供程序的 Scaffold-DbContext 不会创建 ICollection 属性

Scaffold-DbContext在我正在为其创建模型的 Oracle 数据库中进行了一些更改后,我试图通过运行命令来更新我的 ASP.NET Core 应用程序中的模型。在那个数据库中,我有一个表,它有一个自动递增的 ID 作为主键,还有一些属性。出于说明目的,我们将其命名为“T_EXAMPLES”。然后我有另外两个表,一个称为“T_EXAMPLES_CONFIGURATIONS”,其中包含第一个表的 n 个配置,另一个称为“T_EXAMPLES_DATA”,其中包含第一个表的数据。对于 T_EXAMPLES 中的每个条目,其他两个表中可以有多个数据条目和多个配置。运行时Scaffold-DbContext -Connection Name=ConnectionName -Provider "Oracle.EntityFrameworkCore" -OutputDir "Model" -Context "TestContext" -ContextDir "DataAccess" -Force -Verbose,两个表的外键输出完全相同:

但是,当我在运行命令后查看 T_EXAMPLES 的模型时,配置只有一个集合属性,而数据则没有:

为什么没有为数据创建集合,我该如何解决这个问题?

0 投票
1 回答
350 浏览

entity-framework - database-first ef dbcontext 脚手架将表名翻译为德语

我有一个 postgres 数据库,其中一个表名为 masterdata。当我现在跑步时

我得到以“错误”德语命名的实体模型。

名称从更改masterdataMasterdatum

如何关闭此行为?我的系统语言是德语。我的VS语言是英语。