问题标签 [db-first]

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 投票
2 回答
328 浏览

c# - EF 无法移除对象

在我的模型中,我有类似的表格:

  • Persons (ID-NAME)例如(1-保罗 - 2-弗兰克 - 3-乔治)

  • Roles (ID-NAME)例如(1-Admin - 2-Developer - 3-Junior)

  • Persons_Roles (ID_PERSON Not Null- ID_ROLE Not Null 例如 (1-1 - 1-2 - 2-3 - 2-1 - 3-2)

表在和表Persons_Roles上都有一个外键。PersonsRoles

我需要删除一个角色。我其实是

但我得到这个错误

操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新的关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。

为什么我会收到此错误,我该怎么做才能修复它?

0 投票
1 回答
589 浏览

ms-access - 脚手架 MS Access 数据库时出错(找不到可安装的 ISAM)

我正在使用 Entity Framework 6 来管理 MS Access 数据库(mdb 文件)。我现在正在使用这个项目 (bubibubi / EntityFrameworkCore.Jet) 但在他们的示例中,它使用 * .accdb 文件,而我使用 * .mdb 文件。当我执行:

我收到这条消息:Could not find installable ISAM.

我不知道也找不到我需要做什么。

我正在使用 C#、控制台应用程序、.Net Framework 4.6.1

编辑:如果我使用工作正常的新 Access 数据库文件 ( .accdb)。但这是一个遗留项目,我需要管理旧的访问文件( .mdb)

0 投票
1 回答
330 浏览

c# - 使用命令行如何在 ASP.NET 中首先从 DB 搭建脚手架 - 而不是 ASP.NET Core MVC?

我正在编写一个需要在运行时使用 DB-first 的 ASP.NET MVC 脚手架的应用程序。

它通过以下链接在 .NET Core 中测试 Cli 的脚手架:

https://www.learnentityframeworkcore.com/walkthroughs/existing-database

我知道如何在 .NET Core 中执行此操作 - 但我想要在 ASP.NET MVC 中 - 而不是 .NET Core

0 投票
1 回答
78 浏览

c# - 由于模型关系而添加控制器时出错

由于不正确定义的关系,我在尝试添加控制器时(可能)收到一条错误消息。我找不到我的问题。

我有两个简单的模型:场景和条件。一个场景可以由多个条件组成,但一个条件只能与一个场景相关联。(我的 DbContext 是 MySQL,而不是 SQL Server)。

错误:运行所选代码生成器时出错:'条件'到场景的关系。具有外键属性 {'ScenarioId: int'} 的条件无法定位主键 {'Id': int},因为它不是兼容的。为此关系配置一个主键或一组兼容的外键属性。

(我在创建 ScenariosController 并从 API 返回数据时没有问题。在我期望条件数组的地方,只有空值。此外,尝试添加条件控制器时发生错误。)

我希望能够使用代码生成器添加条件控制器而不会遇到错误消息,并且能够返回带有关联条件列表的场景对象,反之亦然。

0 投票
0 回答
40 浏览

sql - 如何在 DbFirst 方法中扩展 IdentityUser 类?

我的数据库中有一个名为 User 的表。我还有一个内置身份验证的 .net 核心项目。我想连接到我的数据库,并且在脚手架显示我的用户类之后,我希望它从 IdentityUser 继承。

脚手架顺利后,我尝试从IdentityUser继承。

在我的数据库中,我看不到 PasswordHash、PhoneNumberConfirmed 等身份字段。具体来说,在用户表中。

0 投票
1 回答
93 浏览

c# - EntityFramework 映射片段问题

我正在 ASP.net 中开发一个 API Web 项目,并且在几个 stackoverflow 用户的推荐下,我决定使用 EntityFramework。

处理已经创建并形成的具有所有关系的数据库。我已经生成了所有相应的实体,并执行了第一个 sql,以获得一个小示例 ql,它将返回给定表的所有数据。

但是当我得到查询并执行它时,我得到了错误 3002,描述如下:

错误 3002:从第 12441 行开始映射片段时出现问题:表 propuestaMarca 的键(propuestaMarca.marca、propuestaMarca.propuesta)的潜在运行时违规:列(propuestaMarca.propuesta、propuestaMarca.marca)映射到 EntitySet propuestaMarca 的属性(propuestaMarca.propuesta。 cod_propuesta、propuestaMarca.marca.cod_marca)在概念方面,但它们不构成 EntitySet 的关键属性(propuestaMarca.marca.cod_marca、propuestaMarca.propuesta.cod_propuesta、propuestaMarca.propuesta.empresa)。

当我查看 .emdx 模型时,我看到以下内容:

在此处输入图像描述

模型中不存在表 propuestaMarca。未正确导出

在此处输入图像描述

当我查看 .emdx 模型时,我看到以下内容:

模型中不存在建议的 tableBrand。它没有正确导出。

我搜索了有关错误 3002 的信息,发现从两个表中的一个表中删除某个主键可以解决问题,并试图消除 propuesta 表中的主 Empleado 键,但没有成功。 在此处输入图像描述

0 投票
0 回答
58 浏览

entity-framework-6 - EF 6 数据库首先以编程方式生成 edmx

我正在尝试创建 edmx 文件作为自动构建过程的一部分,以确保代码与数据库同步。

emdx 图不使用完整的数据库,因此我在 System.Data.Entity.Design 中使用了 EntityStoreSchemaGenerator 和 EntityModelSchemaGenerator,以便仅包含所需的表、视图和存储过程。

然后我可以使用生成的 csdl、msl 和 ssdl 文件来创建 edmx 文件。

问题是没有生成 FunctionImport 标记,也没有生成复杂类型标记。这些标签是在使用 edmx 设计器工具时生成的。据我所知,edmx 设计器工具使用相同的生成器调用(在 System.Data.Entity.Design 中),但似乎产生了那些额外的标签。有没有一种方法可以使用 System.Data.Entity.Design 库以编程方式获得这些额外的标签自动生成(尽管不是必需的)?

0 投票
1 回答
26 浏览

asp.net-core - asp.net core 2.1,Include() 函数不适用于 db first approch

我创建了新项目 asp.net 2.1 api 用于测试 DB first 方法,我有用于测试“DBTest”的数据库,它包含“Patients”表、“Medications”和“Ailments”表,它们使用外键引用“Patients”表,

关系图

为了创建模型,我使用了这个命令: PM> Scaffold-DbContext "Server=.\SQLEXPRESS;Database=DBtest;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models2 -Context "DataContext2"

模型和 DBcontext 生成成功,

我为 Patients 创建了一个控制器 api,GET 方法正确给出了响应(我用 Postman 测试),但是当我使用 Include() 函数时,例如:

我没有回应,

ERR_HTTP2_PROTOCOL_ERROR 200

我在浏览器的控制台中发现了这个错误

邮递员结果

在代码优先方法中一切正常,但在数据库优先方法中我尝试了很多次(将药水添加到脚手架命令.....)但没有任何帮助,

有人遇到过这个问题吗?

0 投票
1 回答
2150 浏览

entity-framework - 要在 EF Core 中添加不带外键的导航属性,使用 .NET Core Web API 进行 DB-first 迁移

我正在使用现有系统并将其更新为 .NET Core、Web API 和 EF Core。

现有系统有 2 个表:

  • 父表:id、name等。
  • 子表:Id、ParentId、name等。

虽然ParentId存在于子表中,但没有外键引用,但我希望在查询父表时能够使用包含。我已要求不要添加 FK 作为删除它们将 -ve 值放入parentId列的一部分。通过这种方式,他们可以将其带回来,并以这种方式构建遗留系统。

现在,在 db-first 迁移中,如何在没有 fk 的情况下指定导航属性,以便我的 EF Core 执行关系;或者至少将它们一起归还。添加可为空的外键不是一个选项,因为当添加 -ve 值时它会破坏系统。

我确实建议完全清理数据库并摆脱 -ve 值,但这涉及大量测试并且没有可交付成果。长话短说如何在数据库第一次迁移中添加没有外键的导航属性?

我尝试在模型中添加集合和虚拟条目,但迁移后它被覆盖了。我已经按照本文档在模型构建器上使用 HasMany 添加了这个 - https://docs.microsoft.com/en-us/ef/core/modeling/relationships?tabs=fluent-api%2Cfluent-api-simple-key% 2C简单键

但是脚手架覆盖了我的导航属性

0 投票
2 回答
382 浏览

c# - 基于非主键的ef核心查询

Net core 和 EF Core DB 第一种方法。我有一张表,它的 Id 是主键,还有一个 countryname 是非主键。我想查询国家名称,我不会传递主键。下面是我的实现。

IBaseRepository.cs

BaseRepository.cs

在上述实现中,我可以通过 id(主键)获取国家,但我想根据国家名称进行查询。我试图弄清楚。有人可以指导我如何做到这一点。任何帮助将不胜感激。谢谢