问题标签 [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.

0 投票
1 回答
3485 浏览

mysql - 如何在 .NET Core 中使用 EF DbFirst 和 MySQL?

我尝试在我的项目中使用 EF 和 MySQL。我补充说:

MySql.Data.EntityFrameworkCore
MySql.Data.EntityFrameworkCore.Design

进入我project.json的但工具部分project.json是空的。当我运行时:

控制台向我显示一个错误:

在提供程序程序集 MySql.Data.EntityFrameworkCore 中找不到名为 DesignTimeProviderServicesAttribute 的预期程序集属性

0 投票
1 回答
2362 浏览

c# - 具有基本实体接口的 DB First

环境:

我在 DB First Approach 工作。我的数据库中有 3 个表。所有这些表都有状态字段来指示记录状态。这是一个整数字段。

设想:

我使用 db first 方法从该表创建了模型图。然后我为 CRUD 操作创建了一个通用的存储库接口和类。

以下是界面;

以下是通用的 Repository 类

要求:

在 GetAll 方法中,我需要检查状态字段并仅返回 value = 1

我目前的解决方案:

由于这是通用存储库,我无法访问方法中的字段。我们可以创建一个带有 Status 字段的基本接口,然后在通用存储库中继承它,并可以在方法中使用该字段。

如下变化;

问题:

为此,我们需要继承我所有模型的基本接口。由于模型是从数据库生成的,我手动将 IBaseEntity 添加到 edmx tt 文件中的每个模型中。

如果我的数据库有任何更改并且我再次更新了图表,则会删除手动添加的界面。

那么 DBFirst 中的任何其他替代方法或我的解决方案在 DB First 中是错误的吗?

0 投票
1 回答
952 浏览

c# - 使用 Scaffold-DbContext 时出现 ASP.NET Core 错误

我有 Visual Studio 2015 并使用 ASP.NET Core Web API。

我正在使用数据库优先方法创建应用程序,因为我在 nuget 包管理器控制台中使用以下命令,

触发此命令后,我收到以下错误:

启动项目“src\Ang2CoreApi”是 Visual Studio 2015 的 ASP.NET Core 或 .NET Core 项目。此版本的 Entity Framework Core 包管理器控制台工具不支持这些类型的项目。

0 投票
1 回答
79 浏览

c# - 如何在 c# ef5 db first 方法中使用 IntersectionTable 更新实体?

我创建了我的数据库并开始使用 EF5 和 DB First 方法在 c# 中开发一个 Web 应用程序。我可以在自己的数据字段上修改我的实体,但在更新关系时不能让它工作。一个简单的关系示例是 Project <- ProjectCategoryIntersection -> Category

模型:

节省:

例外:


multiple instances ChangeTracker当我尝试将类别直接添加到项目对象时,我也会收到异常:

我应该从我的模型中删除生成的表对象吗?


解决方案

我最终删除了生成的表对象public TProject project { get; private set; }并将我的代码更改为:

0 投票
2 回答
4762 浏览

c# - 如何知道项目是代码优先还是数据库优先?

在现有项目中,我如何知道它是代码优先还是数据库优先?

项目有这行代码:

并且项目没有.edmx文件。如果需要任何其他细节,我会分享。

编辑:

Player.cs 类

编辑 12.05.2017

如果我更改database nameconnection string运行项目,它会创建database with the new name with all tables. 可能这会被击中的答案。

0 投票
0 回答
60 浏览

asp.net-mvc - MVC DB First 应用程序中的对象名称无效

我遇到了一个常见的 MVC DB 第一个问题,每次我从 DB 更新我的域模型类时,似乎总是有问题。在这种情况下,在我的项目中添加另一个表和模型后,在 .EDMX 文件中运行 从数据库更新模型和从数据库生成模型,当应用程序运行时,具有工作查询的完美表会导致无效对象名称错误浏览器。

我已经多次清理和重建我的项目。一切都会编译,并且仅当应用程序尝试在浏览器中运行时才会发生错误。

DB First 是否容易出错,或者在使用 DB first 方法时我没有正确地做某事?

错误屏幕 第一个错误

堆栈跟踪

0 投票
0 回答
653 浏览

entity-framework-6 - EF6 数据库 首先检查数据库架构更改

我有一个使用 ef6 数据库优先方法生成的 model.edmx 文件。该数据库被许多应用程序使用,我无法控制架构何时或如何更改。

有一个用于“从数据库更新模型”的 GUI 向导,它适用于我的目的。该向导检测我的模型和数据库之间的差异,因此如果我将表直接添加到数据库中,或者从某个现有表中添加/删除列,我可以在“从数据库更新模型”向导中看到这些更改。

有没有办法以编程方式检测这些变化?是否可以以编程方式更新架构?还是完全重新生成它以匹配数据库?

至少,是否可以使用现有的 EF 库以编程方式区分模型与数据库不同步,而不是编写我自己的自定义模式比较。

谢谢你。

0 投票
0 回答
182 浏览

c# - 数据库第一个连接字符串定义

我创建了具有 3 层 UI、BLL 和 DLL 的 Windows 窗体应用程序。我使用了 DB first 方法。它是使用以下步骤创建的数据模型。

ADO.Net 实体数据模型 --> 来自数据库的 EF 设计器 --> 然后我给了 DB 连接。

通过上述步骤,它被创建为 edmx 文件的数据模型。DAL 有 app.config 文件,UI 层也有 app.config。它是在 DAL app.config 中自动生成的连接字符串。然后我将生成的连接字符串部分复制并粘贴到 UI app.config 文件中。实际上解决方案工作正常。但我认为,在 2 个位置(DAL app.config 和 UI app.config)定义一个连接字符串不是最佳实践。请指导我以正确的方式执行此操作(在一个地方维护一个连接字符串)。

如何在一个地方维护连接字符串?

0 投票
1 回答
721 浏览

entity-framework - 如何更改 DbContext.SaveChanges() 的条目值

我们正在尝试在基于 Web API 的应用程序中实现多租户架构。我们在 SQL Server 中使用 RLS,并且Subscription_Id是给每个订阅者的内容。我们已经在 SQL Server 中设置了默认值Subscription_Id,所以当我调用 时db.SaveChanges(),我只想忽略Subscription_Id从 API 到 SQL Server 的操作。我尝试在覆盖方法中
设置 的值,但被困在这里。Subscription_IdSaveChanges()

0 投票
1 回答
546 浏览

sql-server - Entity Framework 6 不适用于时态表

我已经更改了现有表以使其成为临时表,然后我从数据库中更新了模型。我遇到了这些错误,我在表中添加了两个新列:

错误 3004:从第 1388 行开始映射片段时出现问题:没有为 Set TbCities 中的属性 TbCities.SysStartTime、TbCities.SysEndTime 指定映射。在以下情况下,具有密钥 (PK) 的实体将不会往返:实体类型为 [DiERPModel.TbCities] 1389 15 DiERP

这是我更改表的查询: