问题标签 [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 回答
6310 浏览

asp.net-mvc - 如何在没有主键实体框架的情况下映射表

我正在使用实体框架来映射一些表,但除非我将某些列声明为主键,否则我不能这样做。

这里的问题是我的数据库中的表没有主键并且有数百万行。我无权创建新Id列。

Obs:如果我将[Key]属性添加到某个列,例如Age,它可以工作,但返回错误的数据。

有什么方法可以省略主键吗?

0 投票
1 回答
50 浏览

database - 如何管理数据库优先项目

我们正在开发一个使用数据库优先模型的项目。

在项目开始时,我们决定使用中央数据库,所有开发人员都在使用这个数据库。

但是在项目的中间,开发人员决定使用自己的数据库,他们正在将数据库克隆到他们的本地服务器。因此,他们在本地使用和更改,但是将数据库更改迁移到集中式数据库非常困难,我们正在手动完成。

有没有一种好方法来管理对集中式数据库的数据库更改?

0 投票
0 回答
114 浏览

c# - Entity Framework DB First:如何使字段可选

我有一些从数据库生成的数据类:

怎么样,我需要以通用的方式支持不同的表。表名相同,但不包含 Comment 字段。我需要以某种方式使 Comment 属性成为可选的。

如何在实体框架中使现有的数据库字段可选?

0 投票
1 回答
81 浏览

c# - 当实体的表还不存在时,实体框架的行为是什么?

我们正在与软件领域的多人合作。因此,我们发现并行工作很方便。因此,正在添加实体的 C# 代码,同时正在创建表定义(db first 方法)。

我的问题是,这个 MyEntity 和 DbSet 是否可以已经添加到上下文中的 C# 代码中,而没有 EF 抛出异常,因为数据库表还没有在数据库中。这将允许 C# 代码开发同时继续(创建存储库、提供程序、验证等)。当然是在 C# 代码中没有使用 DbSet 的情况下。

那么 EF 是否可以将 DbSet 作为上下文的一部分,而数据库中尚不存在 MyEntity 的表?

0 投票
1 回答
401 浏览

.net - 多对多关系实体框架核心db优先

我有实体产品和标签。我有两张表之间的多对多关系,所以我有第三张表。

我的产品实体:

我的标签实体:

我的 ProductTags 实体:

如何使用 Entity Framework Core 获取与我的产品相关的标签?

对不起,我的英语知识很低。

0 投票
1 回答
263 浏览

entity-framework - Entity framework 2.1 , 2.2 : 加载相关数据返回 Null 或 Incomplete

如果您能在这方面帮助我,我们将不胜感激。

这是简化的示例:

型号:人

型号:联系方式

数据库上下文:

全部由 Scaffold-DbContext 命令生成。这是 API 控制器:

它返回NULL,没有编译器错误,但如果我删除“.include”,如下所示:

结果将是:

正如我提到的,我需要获得“tbperson”,包括“tbcontact”。

0 投票
1 回答
695 浏览

entity-framework - 在 DBFirst 场景中,在映射中添加 .HasIndex() 有什么好处?

我一直在搜索 EF Core 文档,如果在您的实体映射上添加 .HasIndex() 会给 DbFirst 方案带来任何好处,但我找不到任何东西。

我有这个 20yo 数据库,它创建了所有必要的表和索引,我正在映射一些表以使用 EF Core 查询它们。我想知道,在您永远不会通过代码更新表模式的 DbFirst 场景中映射索引有什么好处?它会影响 EF 生成 SQL 查询的方式吗?

0 投票
1 回答
648 浏览

c# - 如何在 MVC 中使用 DB First Approach 从连接表中获取数据

我有 2 个表之间的多对多关系,我想从联结表中检索数据。

我先分享一些资源

数据库表的图像:

https://imgur.com/BDvPiQa

EF 模型实体的图像:

https://imgur.com/mFHPjfN

调试时的错误图像:

https://imgur.com/lL7DE72

我正在使用以下规则或策略

+数据库优先方法

+EF 图

+自定义角色提供者

问题是,当我试图从连接表(user_has_role)中检索数据时,我得到的是 SQL 查询而不是数据。###

我得到的 SQL 查询:

SELECT \r\n [Extent1].[user_id] AS [user_id],\r\n [Extent2].[user_role_name] AS [user_role_name]\r\n FROM [dbo].[user_has_role] AS [Extent1]\r \n INNER JOIN [dbo].[user_role] AS [Extent2] ON [Extent1].[user_role_id] = [Extent2].[user_role_id]

这是一些代码

Role Provider 类派生自 RoleProvider 类

所有方法都被覆盖但仅使用

我想要针对用户的实际角色名称(一个用户有很多角色,或者可能有一个)

更新

更新的数据库映像

并尝试从联结表中检索数据但获取此查询

"SELECT \r\n [Extent1].[user_id] AS [user_id],\r\n [Extent2].[user_role_name] AS [user_role_name]\r\n FROM [dbo].[user_has_role] AS [Extent1]\ r\n INNER JOIN [dbo].[user_role] AS [Extent2] ON [Extent1].[user_role_id] = [Extent2].[user_role_id]\r\n WHERE [Extent1].[user_id] = @p__linq__0"

不是数据

这是我在字符串数组中获取角色的方法

以调试模式输出图像

更新

EDMX 图像

0 投票
2 回答
275 浏览

sql-server - 如何根据另一列的值创建空列或非空列?

我正在使用带有 EF 核心的数据库优先方法,并试图找出以下问题的干净解决方案 -

考虑下面的学生出勤表(不相关的列已删除),该表存储上课日期并允许学生输入他的班级评分 -

这是一个网络应用程序,学校出勤系统会在 EOD 时自动填充上表,然后要求学生(比如说几天后)添加班级评分。当表由学校出勤系统填充时,ClassRatingByStudent 列中没有任何内容。然后当学生登录时,他必须添加评分。

如您所见,当学校出勤系统填充表时,ClassRatingByStudent 必须为空,而当学生保存更改时,ClassRatingByStudent 必须为非空。一个明显的解决方案是让 ClassRatingByStudent 列可空广告在代码中处理它,但我想知道是否存在更简洁的数据库(或者可能是 EF)级别的解决方案,或者针对这种场景的某种模式/架构指南?

0 投票
1 回答
1579 浏览

c# - 如何使用 FluentMigrator 创建一对一的外键

我正在使用此代码创建外键:

结果我有一对多的关系:

但我想看看:

有没有办法使用 FluentMigrator 做到这一点?