问题标签 [database-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 投票
1 回答
1340 浏览

entity-framework - 实体框架:具有自己的主键的联结表

Ì 目前正在处理一个 ASP NET MVC 项目。我们使用实体框架并遵循数据库优先方法。数据库已经存在。数据库是使用约定创建的,即每个表都有一个指定的单个主键,即使它是一个联结表。

例子 :

  • 表用户:UserId(PK);用户名

  • 表 UserRole : UserRoleId (PK); 用户 ID (FK); 角色 ID (FK)

  • 表角色:RoleId(PK);角色名

如前所述,数据库已经存在,这个约定是不可讨论的。当我想在 Visual Studio 中创建实体数据模型时,我也有三个实体。但是只有两个实体才有意义:用户和角色。UserRole 实体没有意义。

有没有可能我可以影响 Entity Framework 映射我的表的方式,所以我可以摆脱那些关系(无用)实体?

0 投票
1 回答
224 浏览

entity-framework - 生成列表的技巧在实体框架中作为来自类似列集的数据

我正在使用 WCF 和 EF 开发 Silverlight 应用程序。

我首先使用数据库,因为我们的数据库已经存在。

我有一个包含 100 个数据类型为 real 的列的表。我们想要生成一个类,该类在每列的类中都有一个List<double>或而不是 100 个离散变量。List<float>

这可能吗 ??有人可以给我一个例子吗?

0 投票
2 回答
1847 浏览

wcf - EF 数据库优先和 WCF:DataContracts 怎么样?

我计划在 WCF 服务中使用 EF。将要使用的数据库已经存在。

我想知道是否需要将检索到的实体映射到数据合同,还是可以直接使用它们?

在更一般的基础上:有什么我应该提防的陷阱吗?

0 投票
2 回答
932 浏览

entity-framework - 实体框架代码生成

我试图弄清楚使用“数据库优先”方法生成实体框架代码的最佳方法是什么。我希望模型的完整主描述是实际的数据库模式,注释存储在数据库中的表或扩展属性中。对模型优先或代码优先方法不感兴趣。如果它会产生最高质量的解决方案,不反对编写自定义代码来实现。这里有一些想法:

(1) 从数据库生成EDMX。使用自定义代码向 EDMX 添加有关唯一性和其他当前未内置到 EF 的约束的注释。使用 T4 模板从 EDMX 生成代码。

(2) 编写一个从数据库生成“代码优先”类的自定义工具。解决方案中没有 EDMX 文件。

(3) 还有什么?

似乎 #1 需要比 #2 更深入的 EF 知识和更多的实际工作,如果有显着的好处,我现在反对。

有什么建议吗?

0 投票
1 回答
2157 浏览

c# - C# ASP.NET EF 数据库优先:类型未映射

运行数据库第一个项目时出现映射错误。我知道我应该在哪里修复它们,但是自从我首先完成数据库以来已经有一段时间了,我不知道如何修复它。我似乎改变的越多,错误就越多。

欢迎任何指向有关这些映射问题或解决方案的教程、指南或博客文章的链接。我无法通过谷歌找到任何解释我应该改变的东西。

“Paycento_Models.Domain.Campaign”类型未映射。使用 Ignore 方法或 NotMappedAttribute 数据注释检查该类型是否被显式排除。验证该类型是否被定义为一个类,不是原始的、嵌套的或泛型的,并且不是从 EntityObject 继承的。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidOperationException:未映射类型“Paycento_Models.Domain.Campaign”。使用 Ignore 方法或 NotMappedAttribute 数据注释检查该类型是否被显式排除。验证该类型是否被定义为一个类,不是原始的、嵌套的或泛型的,并且不是从 EntityObject 继承的。

在此处输入图像描述


在此处输入图像描述

0 投票
1 回答
4244 浏览

c# - 数据库优先实体框架将唯一外键映射为一对多

我在 Microsoft SQL Server 2008 R2 中有一个表,Page主键名为ID. 我有另一个名为Navigationcolumn 的表PageID。是对 的列的PageID唯一外键引用。这在和记录之间创建了一对一的关系。IDPageNavigationPage

从数据库生成模型时,它会创建一对多关系,其中 aPage包含Navigation记录列表。

这仅仅是实体框架检测到涉及外键并忽略数据库中列的唯一性吗?

PageID中列的 SQLNavigation是:

ID中列的 SQLPage是:

这是我最初的解决方案,这就是 Ladislav 提到的。

PageID中列的 SQLNavigation是:

0 投票
1 回答
409 浏览

asp.net - 在不更改现有 EF 4.x 数据库优先方法中生成的模型的情况下修改模型结构

我在 EF 4.x 中使用 ASP.NET MVC 3.0 Database First 方法。模型是使用 EF 4.x DBContext Generator 生成的。现在我想更改模型结构但不想更改现有模型,因为如果修改了数据库,我必须再次生成模型,这样更改就会消失。我认为应该通过覆盖部分类来完成,但不清楚。有什么例子可以做到吗?实施它的最佳方法是什么?

编辑:我必须在一些模型中添加一些额外的验证,而不是全部。我想创建覆盖生成的类的独立模型,如果重新生成 EF 模型,对我们的自定义模型没有任何伤害。

0 投票
3 回答
1489 浏览

.net - 在 Visual Studio 2010 中使用实体框架创建的模型中未复制关系

我在使用实体框架时遇到问题

问题很简单,我在 sql server 2008 中有一个数据库。当我在 Visual Studio 2010 项目(使用 ADO.NET 实体数据模型)中导入用于创建 edmx 文件的表时,并非所有关系都在模型中复制,只是其中的一部分。我已经尝试删除重新创建模型,更新甚至在一个全新的项目中,同样的问题变成了......

例如:

这个实体被称为“simte_plandeestudio”

该表的创建脚本是:

前两个约束(“simte_Curso”和“simte_Estudiante”)在 sql management studio 图中可以看到,但没有传递给模型。

最后一个(“simte_Usuario”)在数据库图中并传递给模型。

“simte_curso”实体没有外键,“simte_usuario”只有一个与另一个表相关的外键

我希望它可以更清楚

“simte_curso”和“simte_Usuario”的创建脚本是:

0 投票
2 回答
634 浏览

linq - EF 4.1,数据库优先和多对多关系 - 如何获取所有子对象?

假设我在形成多对多关系的数据库中有以下表。在使用 EF 4.1 的 ASP.Net MVC 项目中,我有相应的 POCO 实体和一个存储库层来访问数据库。

如果我有 PersonId,列出此人最喜欢的所有餐厅名称的最佳方式是什么?

或者我将如何使用存储库层根据人员的 Id 初始化此 Enumerable?

IEnumerable MyFavoriteRestaurants = ???

我知道我可以使用 foreach 在 Person.FavoriteRestaurants 集合上循环并逐个检索每个 FavoriteRestaurant.Restaurant,但我想知道是否有更优雅的方法可以在一行代码中执行此操作。

更新

这是我项目中 Person POCO 实体类的示例。此代码由从此处下载的 Microsoft 模板生成:

http://visualstudiogallery.msdn.microsoft.com/23df0450-5677-4926-96cc-173d02752313/

0 投票
1 回答
299 浏览

entity-framework - 如何首先解决实体框架数据库中的字段包装

当我第一次使用数据库时,创建edmx文件后,所有的概念模型都已经生成了。但是我想在某些领域做一些特殊的操作。例如,有一个名为“价格”的字段;我希望匹配的属性“价格”返回两倍的“价格”。我怎样才能做到这一点?如果我修改代码中的 getter,每次我从数据库更新模型时,所有修改都会消失。

这样做的正确方法是什么?