问题标签 [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.
asp.net-mvc - 如何在没有主键实体框架的情况下映射表
我正在使用实体框架来映射一些表,但除非我将某些列声明为主键,否则我不能这样做。
这里的问题是我的数据库中的表没有主键并且有数百万行。我无权创建新Id
列。
Obs:如果我将[Key]
属性添加到某个列,例如Age
,它可以工作,但返回错误的数据。
有什么方法可以省略主键吗?
database - 如何管理数据库优先项目
我们正在开发一个使用数据库优先模型的项目。
在项目开始时,我们决定使用中央数据库,所有开发人员都在使用这个数据库。
但是在项目的中间,开发人员决定使用自己的数据库,他们正在将数据库克隆到他们的本地服务器。因此,他们在本地使用和更改,但是将数据库更改迁移到集中式数据库非常困难,我们正在手动完成。
有没有一种好方法来管理对集中式数据库的数据库更改?
c# - Entity Framework DB First:如何使字段可选
我有一些从数据库生成的数据类:
怎么样,我需要以通用的方式支持不同的表。表名相同,但不包含 Comment 字段。我需要以某种方式使 Comment 属性成为可选的。
如何在实体框架中使现有的数据库字段可选?
c# - 当实体的表还不存在时,实体框架的行为是什么?
我们正在与软件领域的多人合作。因此,我们发现并行工作很方便。因此,正在添加实体的 C# 代码,同时正在创建表定义(db first 方法)。
我的问题是,这个 MyEntity 和 DbSet 是否可以已经添加到上下文中的 C# 代码中,而没有 EF 抛出异常,因为数据库表还没有在数据库中。这将允许 C# 代码开发同时继续(创建存储库、提供程序、验证等)。当然是在 C# 代码中没有使用 DbSet 的情况下。
那么 EF 是否可以将 DbSet 作为上下文的一部分,而数据库中尚不存在 MyEntity 的表?
.net - 多对多关系实体框架核心db优先
我有实体产品和标签。我有两张表之间的多对多关系,所以我有第三张表。
我的产品实体:
我的标签实体:
我的 ProductTags 实体:
如何使用 Entity Framework Core 获取与我的产品相关的标签?
对不起,我的英语知识很低。
entity-framework - Entity framework 2.1 , 2.2 : 加载相关数据返回 Null 或 Incomplete
如果您能在这方面帮助我,我们将不胜感激。
这是简化的示例:
型号:人
型号:联系方式
数据库上下文:
全部由 Scaffold-DbContext 命令生成。这是 API 控制器:
它返回NULL,没有编译器错误,但如果我删除“.include”,如下所示:
结果将是:
正如我提到的,我需要获得“tbperson”,包括“tbcontact”。
entity-framework - 在 DBFirst 场景中,在映射中添加 .HasIndex() 有什么好处?
我一直在搜索 EF Core 文档,如果在您的实体映射上添加 .HasIndex() 会给 DbFirst 方案带来任何好处,但我找不到任何东西。
我有这个 20yo 数据库,它创建了所有必要的表和索引,我正在映射一些表以使用 EF Core 查询它们。我想知道,在您永远不会通过代码更新表模式的 DbFirst 场景中映射索引有什么好处?它会影响 EF 生成 SQL 查询的方式吗?
c# - 如何在 MVC 中使用 DB First Approach 从连接表中获取数据
我有 2 个表之间的多对多关系,我想从联结表中检索数据。
我先分享一些资源
数据库表的图像:
EF 模型实体的图像:
调试时的错误图像:
我正在使用以下规则或策略
+数据库优先方法
+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"
不是数据
这是我在字符串数组中获取角色的方法
更新
sql-server - 如何根据另一列的值创建空列或非空列?
我正在使用带有 EF 核心的数据库优先方法,并试图找出以下问题的干净解决方案 -
考虑下面的学生出勤表(不相关的列已删除),该表存储上课日期并允许学生输入他的班级评分 -
这是一个网络应用程序,学校出勤系统会在 EOD 时自动填充上表,然后要求学生(比如说几天后)添加班级评分。当表由学校出勤系统填充时,ClassRatingByStudent 列中没有任何内容。然后当学生登录时,他必须添加评分。
如您所见,当学校出勤系统填充表时,ClassRatingByStudent 必须为空,而当学生保存更改时,ClassRatingByStudent 必须为非空。一个明显的解决方案是让 ClassRatingByStudent 列可空广告在代码中处理它,但我想知道是否存在更简洁的数据库(或者可能是 EF)级别的解决方案,或者针对这种场景的某种模式/架构指南?
c# - 如何使用 FluentMigrator 创建一对一的外键
我正在使用此代码创建外键:
结果我有一对多的关系:
但我想看看:
有没有办法使用 FluentMigrator 做到这一点?