问题标签 [edmx-designer]
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 - 实体框架交换导航属性
我正在使用带有 DB 优先方法的 EF。我在更新 EDMX 文件时遇到问题。假设我有一个表 InvoiceT 和另一个表 LookupT。现在,在 InvoiceT 中,我有一列 InvoiceType 与 LookupT 具有 FK 关系。现在实体在 InvoiceT 类中创建了一个名为 LookupT 的导航属性。到目前为止,它很好。
现在我用 LookupT 添加了另一个名为 InvoiceStatus 和 FK 的列。现在实体创建另一个名为 LookupT1 的导航属性。但是这里的问题是第一个导航属性 LookupT 没有指向它的原始数据,即 InvoiceType。相反,它现在指向 InvoiceStatus 数据。任何人都可以向我解释为什么它会这样,我该怎么办?
entity-framework-6 - 实体框架多对多关系关联不会自动生成
我看过这篇文章,我的问题恰恰相反,EF将实体视为两个独立的一对多关系,所以User
有很多UserInRole
,Role
也有很多UserInRole
实体,EF不应该自动隐藏UserInRole
表格并给出一个和的导航属性Roles
。我想要的实际上是这样的:User
Users
Role
entity-framework - 有没有办法自动对我的整个 EDMX 设计器进行排序?
我在实体框架中有大量表,当我打开 EDMX 设计器时,我想要某种排序方法。有没有一种方法不需要我拖放每个表?
c# - 尝试在 C# 中执行存储过程参数实体框架 EDMX 模型时出错
我正在尝试执行我的存储过程,它需要 13 个参数,有些可以接受空值,有些总是需要的。我收到 2 个接受 null 的日期参数的错误。
我收到以下错误
System.Data.SqlClient.SqlException
参数化查询“(@recordType nvarchar(12),@lotCreation bit,@licensePlateCreation”需要参数“@lotManufactureDate”,但未提供该参数。
这是当我从 SQL Server 数据库调用存储过程时 edmx 模型创建的存储过程代码,这里licensePlateLookupCode
从存储过程命名的参数允许空值,但在 emdx 模型创建的代码中它不显示它可以采用空值- 你知道为什么吗?
它应该像Nullable<string> licensePlateLookupCode
而不像现在这样string licensePlateLookupCode
。
这是我调用该存储过程的地方,然后在用户单击提交按钮后执行它,我收到了 lotmanufacturer 和 lotexpiration 日期参数的错误,因为我认为它们是 NULLS,但在实际的数据库存储过程中它可以取空值或不
这是实际的存储过程-您可以看到@lotManufactureDate
并且@lotExpirationDate
确实允许空值:
所以,我不明白为什么当我为那些具有空日期的 2 个日期参数传递时,我会收到预期的错误,如果我传递 null 时,如果 lotlookupcode 参数会发生同样的事情,我会得到与期待 lotlookupcode 相同的错误。你能看出这里可能是什么问题吗?
我对我的代码进行了新的更改,现在我没有像以前的请求描述那样得到错误,但是现在当我调用存储过程来执行时,我在数据库上看不到任何内容,可以根据参数在下面查看我提供的基于 emdx 模型是否正确?
我从模型浏览器导入函数存储过程中调用此函数,当我按下提交按钮时,我没有在数据库上收到任何内容,基于上面的 emdx 模型和存储过程,参数看起来是否正确?
}
asp.net-mvc - 表未显示在实体框架图中 (edmx)
我首先使用 NET 4.5 和 Entity Framework 数据库构建了一个 ASP.NET MVC 应用程序。我正在使用 Visual Studio 2013。
现在我正在尝试从数据库更新 edmx。基本上我正在尝试向 edmx 图表添加一个表格,所以我按照以下步骤操作:
从 Visual Studio 打开 edmx 图
选择从数据库更新图表的选项
导航到“添加”选项卡以添加表格,但表格未显示在那里.....此外,文件夹中不存在自动生成的 cs 文件。
所以我去更新选项卡,我可以看到那里显示了表格,但是图表中没有显示表格。
所以我决定使用编辑器打开 edmx 文件并删除该表的所有条目(似乎有人过去删除了该表,但 edxm 中的条目没有被删除,它们仍然存在)。无论如何,之后我按照以下步骤操作:
- 再次打开edmx图
- 从数据库中选择选项更新并转到添加选项卡。现在表格显示在那里。
- 选择我感兴趣的表
- 按下按钮完成以继续更新 edmx 图。
现在我在 edmx 图中查找表格,但表格不存在,它没有被添加......并且文件夹中不存在自动生成的 cs 文件。
那么如何将表格添加到 edmx 图表中呢?
entity-framework - 无法将联结表(由于多对多关系)添加到实体数据模型设计器 (edmx)
我在实体框架中有一个数据库模型。edmx 有一些表,现在我正在尝试添加两个新表(它们是连接表)。我曾经看到有人在过去添加了这两个表,但由于某种原因,这些表没有显示在图表中。它们未列在实体类型列表中(在图节点下),但我确实在实体商店中看到了它。
我做了以下事情:
- 编辑 edmx 文件并删除与这两个表有关的所有条目。然后从 edmx 设计器中,我通过“从数据库更新模型...”选项添加了这 2 个联结表。这 2 个联结表显示在那里并且可以添加。表格继续而不显示在图表中。
- 选择并删除 edmx 图表中的所有表,然后将它们再次添加到 edmx。再一次,表格继续,而不显示在图表中。
这 2 个表有它们的主键和指向 edmx 图中已经显示的其他表的外键。由于 2 个表之间存在多对多关系,这 2 个表也是联结表。
此外,我已经重新启动了 Visual Studio,清理了所有解决方案并再次重建,但没有成功。
知道我能做些什么来添加这两个表吗?
更新#1:磁盘中也没有创建类。
其中一张表的 SQL Server 定义如下(另一张表类似):
更新#2:正如 Gert Arnold 解释的那样,联结表(中间表)在多对多关系(我的情况)中被设计隐藏。在这篇文章中也证实了这一点。我不知道连接表被设计隐藏了......
visual-studio-2013 - 使用 PDFCreator 从 edmx 设计器中导出 edmx 图
我正在尝试使用PDFCreator将 edmx 图从 Visual Studio 2013 中的 edmx 设计器导出到 png 图像。我遇到的问题是 PDFCreator 切断了一些表格。在 PDFCreator 中,我选择 ARCH E3 作为纸张大小。此外,它使用白色作为背景导出为 png 图像,因此基数不能很好地观察到。下面是截图。
那么如何:
- 在不切断表格的情况下将所有 edmx 图适合 png
- 使用 PDFCreator 将 png 背景颜色更改为自定义颜色,以便正确观察基数。
c# - Visual Studio 2019 EDMX 缺少 ADO.NET 实体数据模型项模板
新手警告!
我已经看到了很多关于这个问题的问题,并且修复程序适用于不适合我的早期版本。无论我尝试遵循什么过程、教程或任何东西,我都会一直碰壁。
我学到了很多关于框架、核心和标准之间的区别。我发现 ADO.NET 实体数据模型包含在一个框架项目中。我看过很多教程,它们指导观众完成从 NuGet 添加 EntityFrameworkCore 包的过程,并承诺将 ADO.NET 实体数据模型添加到核心或标准项目。但是在添加 EntityFrameworkCore 包之后,我的核心和标准项目中仍然缺少 ADO.NET 实体数据模型。在所有教程中,该过程的下一步是通过实体数据模型向导连接到数据库(如下图第五张图所示)。
我创建了一个包含核心类库、标准类库和框架类库的解决方案,因此我可以测试它们。这是我的解决方案:
您可以看到我在核心和标准类库项目中都添加了 EntityFrameworkCore 包。在框架类库项目中,当我选择添加新项时,会列出 ADO.NET 实体数据模型。
在核心和标准类库项目中,当我选择添加新项时,ADO.NET 实体数据模型不存在。
所以,我的问题是:是否可以在核心或标准(非框架)项目中的 Visual Studio 2019 中创建 ORM 数据类和 EDMX 图?如果是,请指出我正确的方向。先感谢您。