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

linq - Linq 处理异常

我创建了一个项目,我将 EF 与 LINQ 和Model first. 因此,基于我的 edmx,我创建了我的数据库以及我的课程。

所以我遇到了一些问题。我创建了一个 Click 来测试我的代码是否正常工作。

因此,在我的ZUser班级(Controller)中,我执行了以下代码:

还有我的模型(由我的 edmx 生成的类

问题

  1. 如果我不让[Table]我的模型类(我添加了那个)我得到了这个错误。我不确定这是否是纠正它的正确方法。

类型“{0}”未映射为表。

  1. 从上面“解决”问题后。我在我的foreach (ZUser usr in query).

成员“{0}.{1}”不支持 SQL 转换。

我不知道如何修复或创建解决方法。

0 投票
2 回答
1589 浏览

entity-framework-5 - 将自定义 t4 模板添加到 DDL 生成模板下拉列表

我知道我可以在文件夹中添加模板

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen

使其在 DDL 生成模板下拉列表中可见,但是我需要将模板分发给我的团队成员,以便他们可以将模板添加到同一文件夹中。

我希望通过以某种方式将模板添加到 VS 2012 解决方案并使其在同一个下拉列表中可见,我可以达到相同的结果

你知道实现这一目标的方法吗?我正在使用 VS 2012 并使用 Model First 方法生成数据库

0 投票
2 回答
228 浏览

asp.net-mvc - 学习与 MVC 一起使用的实体框架,首先采用哪种方法?

我是 MVC 和 EF 的初学者。为了更好地使用这些技术,我决定更清楚地理解事物。

现在,我已经开始阅读有关 EF 的内容,并且知道有Model-first,Database-firstCode-first技术。

我真的想从对我最有利的一个开始,因为我将使用 MVC 进行开发,然后再回到其他两个并比较它们。

我唯一的问题是,我应该从哪种技术开始并使用?

0 投票
1 回答
630 浏览

entity-framework - 实体框架使用默认表值生成数据库架构 (SQL)

我正在使用 EF 5 和 SQL Server 2005,Model First(有点)。

顺便说一下,我的意思是我通常在 SQL Server 设计器中构建我的架构,但将架构导入 EF,这样我就有了一个可视化视图。经常有往返。

但是,我注意到,当我尝试基于 EF 模型生成 DB 模式时,它会跳过我作为默认值分配给我的 Guid ID 的所有 NEWID() 默认值,但它不会跳过身份字段int 类型。

我发现这篇文章解释了这个原因: Entity Framework 4 and Default Values

但是,它没有回答我的问题:如何让 Entity Framework 为我的 uniqueidentifier 类型生成默认值为 NEWID() 的 SQL DDL 数据库模式?

笔记:

我不关心如何从 POCO 实体等中设置它们(有很多帖子对此进行了描述)——我关心的是正确生成 SQL DDL,这样我就可以为数据库播种而不必担心这些值会丢失。

0 投票
0 回答
216 浏览

entity-framework - 实体框架模型优先和代码优先 TPH 问题

通过尝试先制作模型或先使用 TPH 概念编写代码,我面临两个问题。

问题是我需要在三个级别上使用每个层次结构的表,以便:

当我使用 Model First 时,最后一个层次结构实体(第三级)不会保存在数据库中。我从该实体创建一个实例,该实例继承了一个抽象实体,该抽象实体继承了另一个抽象实体。保存了两个抽象实体的数据,但不保存最后一个实体。如果继承最多两个级别可以正常工作。

如果我尝试使用 Code First,问题是我不能共享具有相同名称的属性,例如:ClassB 和 ClassC 有一个名为“Name”的属性,并且都继承了 ClassA。当我映射生成数据库时,我只想创建一个名为 ClassA 的 sql 表,但它不共享“Name”列,它创建 Name 和 Name1 列。

我需要做这个模型之一,否则我不能在我的模型中使用继承。

希望有所帮助!

谢谢

0 投票
1 回答
1519 浏览

mysql - Visual Studio 2010 中的实体框架 5 和 MySql - 模型优先问题

我使用 MySql 数据库在 Visual Studio 2010、.NET 4.0 中开发了应用程序。

我已经安装了 Entity Framework 5.0 和 EF 5.x DbContext Generator for VB(使用 NuGet),然后是 MySql Connector 6.5.5。我使用的是 Model First 方法,所以我创建了两个表,然后我选择了“Generate database from model..”选项。设置连接提供程序和连接参数(成功测试连接到数据库)后,我单击“完成”,生成 *.sql 文件,但在我的数据库中没有创建任何内容。更糟糕的是,生成的 SQL 脚本是 SQL Server Flavor 并且它有一个标题:

如何使用 Mysql 和 MySql Connector 强制执行 EF 以自动创建数据库表,并生成 MySql 脚本,没有 SQL Server 脚本?

最好的问候, WP

0 投票
1 回答
346 浏览

vb.net - 协会奇怪的行为

我在 Model First 方法中发现了关于在 .NET 4.0 下运行的 EF5 的以下问题:我有以下自动生成的实体:

通知实体与订单实体和员工实体通过1(订单,员工)对多(通知)的关系关联。

之后,Order 实体也与 Employee 实体有关联:many (Order) to 1 (Employee) 关系。

然后,我预计以下单元测试会失败,因为通知实体与员工实体违规的关系(我没有分配 notice1.employee 导航属性):

但在结果测试中通过了。在数据库中,Notice->employee_id 值等于 Order->employee_id 值,这是意料之外的,因为这些外键可能指向不同的 Employee 对象。DbUpdateException我希望我必须自己设置 notice1.employee 导航属性,如果我忘记这样做,我想获得例外。

这种奇怪的 EF5 行为的原因是什么?

更新:

CreateNewNotice()CreateNewOrderWithAllRequiredAndRelatedEntities()实施:

0 投票
1 回答
569 浏览

c# - 如何更改导航属性返回类型

我阅读了以下有关 EF5 Databinding with WinForms的文章。

我使用 VS2010、.NET 4.0 和 EF5 Model First 方法,我不知道如何在 VS2010 EF 设计器中更改导航属性返回类型,而不更改自动生成的实体类。例如,我需要将导航属性返回类型从 更改ICollection<T>ObservableCollection<T>,但在属性视图中禁用了“返回类型”选项。

0 投票
1 回答
670 浏览

oracle11g - EntityFramework 4.1 Code First Oracle 插入 PL/SQL 代码

我的项目有两个 EF 4.1 上下文,一个是模型优先,另一个是代码优先。这两个上下文都扩展了 DbContext 并连接到 Oracle 数据库。

在对大表(5M 记录)执行更新时,模型优先上下文会按预期生成 SQL,并且运行速度很快(毫秒):

在对大表(4.7M 记录)执行更新时,代码优先上下文会产生一些奇怪的 PL/SQL:

此更新语句需要 3 秒才能完成。

这是代码优先上下文的代码优先 EntityTypeConfiguration:

有没有我可以设置的配置来强制 EF 生成简单的更新语句而不是疯狂的 PL/SQL?

0 投票
1 回答
959 浏览

entity-framework - 如何处理继承表上的级联删除?

在使用继承表时,我遇到了 ON DELETE CASCADE 的问题。

我有以下表格(模型优先) 数据库模型

现在,如果我想删除 Entity1 中的一个条目。

简单...但是 SaveChanges 引发以下异常。

DELETE 语句与 REFERENCE 约束 FK_EntityA_inherits_BaseEntity 冲突。冲突发生在数据库“MyDB”、表“dbo.BaseEntitySet_EntityA”、列“Id”中。语句已终止。

我该如何解决?


更新

我注意到 VS2010 和 VS2012 模型设计器输出 SQL 的方式有所不同。

VS2010

删除通知不采取行动

VS2012

关于删除级联的通知

那是相当有意义的...