问题标签 [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.
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
上都有一个外键。Persons
Roles
我需要删除一个角色。我其实是
但我得到这个错误
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新的关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
为什么我会收到此错误,我该怎么做才能修复它?
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)
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
c# - 由于模型关系而添加控制器时出错
由于不正确定义的关系,我在尝试添加控制器时(可能)收到一条错误消息。我找不到我的问题。
我有两个简单的模型:场景和条件。一个场景可以由多个条件组成,但一个条件只能与一个场景相关联。(我的 DbContext 是 MySQL,而不是 SQL Server)。
错误:运行所选代码生成器时出错:'条件'到场景的关系。具有外键属性 {'ScenarioId: int'} 的条件无法定位主键 {'Id': int},因为它不是兼容的。为此关系配置一个主键或一组兼容的外键属性。
(我在创建 ScenariosController 并从 API 返回数据时没有问题。在我期望条件数组的地方,只有空值。此外,尝试添加条件控制器时发生错误。)
我希望能够使用代码生成器添加条件控制器而不会遇到错误消息,并且能够返回带有关联条件列表的场景对象,反之亦然。
sql - 如何在 DbFirst 方法中扩展 IdentityUser 类?
我的数据库中有一个名为 User 的表。我还有一个内置身份验证的 .net 核心项目。我想连接到我的数据库,并且在脚手架显示我的用户类之后,我希望它从 IdentityUser 继承。
脚手架顺利后,我尝试从IdentityUser继承。
在我的数据库中,我看不到 PasswordHash、PhoneNumberConfirmed 等身份字段。具体来说,在用户表中。
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 键,但没有成功。
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 库以编程方式获得这些额外的标签自动生成(尽管不是必需的)?
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() 函数时,例如:
我没有回应,
我在浏览器的控制台中发现了这个错误
在代码优先方法中一切正常,但在数据库优先方法中我尝试了很多次(将药水添加到脚手架命令.....)但没有任何帮助,
有人遇到过这个问题吗?
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简单键
但是脚手架覆盖了我的导航属性
c# - 基于非主键的ef核心查询
Net core 和 EF Core DB 第一种方法。我有一张表,它的 Id 是主键,还有一个 countryname 是非主键。我想查询国家名称,我不会传递主键。下面是我的实现。
IBaseRepository.cs
BaseRepository.cs
在上述实现中,我可以通过 id(主键)获取国家,但我想根据国家名称进行查询。我试图弄清楚。有人可以指导我如何做到这一点。任何帮助将不胜感激。谢谢