问题标签 [ef-code-first-mapping]

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 投票
1 回答
500 浏览

.net - 如何在 EF6 代码优先中设置自定义引用列名称?

考虑一个简单的微博平台,其数据模型定义如下:

当我以第一种方式设计数据库(SQL DDL)时,我将messages.author引用users.id作为外键包含在内。我喜欢这样:整洁和解释。

然而,当我尝试代码优先的方式时,我发现它命名了外键列messages.User_Id,而不是messages.author尽管我已经[Column("author")]明确指定了属性。

如何可能纠正这种行为?

我同意简单地命名它.user(而不是我最初的.author想法),以便在必要时使引用更加明显,但肯定不是——当这个明显、多余和丑陋的东西被附加到关键列.User_Id时,我完全不喜欢它。_Id

我将 SQLite 数据库与SQLiteCodeFirst库一起使用,但不确定这是正常的实体框架行为还是只是这个特定库中的错误。

0 投票
3 回答
810 浏览

c# - Entity Framework 6 Fluent Mapping - 一对多代码优先

给定以下 SQL 表:

以及以下 POCO

如何正确配置流畅的映射?我希望 Entity.EntityGroupId 保持为 int 而不是 EntityGroup 对象。

我希望能够 .Include() 可选地 Include("Entities")。我得到的最接近的是这个,但即使我不使用.Include(“Entities”),这似乎也急切地加载所有实体,这不是我想要的行为:

0 投票
2 回答
1237 浏览

ef-code-first - 未找到 DBContext 方法(OnModelCreating() 上的 System.MissingMethodException)

我一直被 DBContext 中 OnModelCreating() 的以下异常所困扰,并努力寻找原因或解决方案。网上也找不到太多帮助。

请问有什么帮助或想法吗?

细节:

我有两种实体类型“应用程序”和“组织”及其实体类型配置,如下所示:

数据库上下文:

0 投票
5 回答
442 浏览

c# - 如何在 Entity Framework Core 中设置实体关系

在这里,我们在 EF Core 上并获得了 3 个表:

  1. 消息
  2. 项目
  3. 链接

以及更多(新闻、项目除外):内容、帖子、表格等。

还有我的模型定义

表格Links描述了每个新闻和每个项目的 URL。这意味着Links有 4 列:

  1. ID
  2. 类型 - 新闻或项目
  3. RowId - 包含项目或新闻的 ID(取决于类型)
  4. 网址

如何设置关系?请记住,我们需要通过链接表中的 URL 解析实体。

0 投票
1 回答
683 浏览

entity-framework - 实体框架 - 如何配置用户角色多对多关系

下面是User实体的定义,有一个导航属性Roles

下面是角色实体的定义

我想要的是定义多对多关系并生成一个关系表UserRole,它使用UserId作为左键,RoleId作为右键,那么如何编写配置代码?

0 投票
2 回答
1951 浏览

c# - 使用 Code First 从 .NET Core EF 加载相关实体

我正在尝试使用 .NET Core EF 和 Code First 加载相关实体,但是我收到以下错误:-

我的 2 个模型如下所示

我的上下文如下所示:-

我正在尝试通过以下方法获取验证用户:-

这反过来又调用了一个 GenericService :-

最后是 GenericRepository:-

IncludePropertiesQuery 看起来像这样:-

这与我的 DbContext 以及我在 2 个表之间的关系有关吗?

感谢您的帮助和时间

0 投票
0 回答
117 浏览

mysql - 现有表的更新数据库

我的团队有一个使用 Code First 迁移生成的数据库。然后使用另一个脚本填充数据库,该脚本可能需要一个多小时才能运行。我用填充的数据生成了这些表的 .sql 文件,这是为了帮助加快其他人的开发过程。当迁移发生变化时,我必须重做整个过程。或者更改迁移的开发人员会因为现在 EF 不同步而陷入困境。

有没有办法告诉更新数据库上的实体框架这些表存在但只是更新它们的结构?

TLDR 如果 MigrationHistory 不存在,我如何让 EF 运行 ALTER TABLE 而不是 CREATE TABLE。

0 投票
2 回答
36 浏览

.net - EF6 代码首先获取不需要的 referenceID

由于某种原因,在生成我的数据库时,我得到了一个不必要的外键,我不知道如何停止它。

复制此问题的示例如下:

在我的DbContext我有:

现在奇怪的是,当我使用代码优先迁移生成模型时,该PeopleRelationships表将获得预期的外键PersonOne_PersonIdPersonTwo_PersonId但随后Person_PersonId也会出现意外情况。我认为这与人的参考有关,但我不确定如何摆脱它,因为我需要那个参考。

我错过了什么?

0 投票
2 回答
723 浏览

entity-framework - 更改表名“__MigrationsHistory”?

使用 codefIrst 时是否可以更改表名“__MigrationsHistory”?问题:我正在使用 Oracle 数据库,并且我有创建新表的规则。其中之一是不能有任何带有特殊字符的表名或字段。

0 投票
1 回答
48 浏览

ef-code-first - EF Code First access child of child to set ForeignKey

以下是示例类

需要使用 Entity Framework Code-First 方法创建表。ParentId 在 Parent 中是 PK,在 Child1 中是 FK。无需为子类创建表。Child1 表有 Child1Id 作为 PK 和 ParentId 作为 FK。需要一些帮助如何使用流利的 api 在数据库中创建这种关系。必需的数据库结构 Parent ParentId (PK) UserName

Child1 Child1Id (PK) ParentId (FK) ChildName