问题标签 [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.
mysql - 如何在 .NET Core 中使用 EF DbFirst 和 MySQL?
我尝试在我的项目中使用 EF 和 MySQL。我补充说:
MySql.Data.EntityFrameworkCore
MySql.Data.EntityFrameworkCore.Design
进入我project.json
的但工具部分project.json
是空的。当我运行时:
控制台向我显示一个错误:
在提供程序程序集 MySql.Data.EntityFrameworkCore 中找不到名为 DesignTimeProviderServicesAttribute 的预期程序集属性
c# - 具有基本实体接口的 DB First
环境:
我在 DB First Approach 工作。我的数据库中有 3 个表。所有这些表都有状态字段来指示记录状态。这是一个整数字段。
设想:
我使用 db first 方法从该表创建了模型图。然后我为 CRUD 操作创建了一个通用的存储库接口和类。
以下是界面;
以下是通用的 Repository 类
要求:
在 GetAll 方法中,我需要检查状态字段并仅返回 value = 1
我目前的解决方案:
由于这是通用存储库,我无法访问方法中的字段。我们可以创建一个带有 Status 字段的基本接口,然后在通用存储库中继承它,并可以在方法中使用该字段。
如下变化;
问题:
为此,我们需要继承我所有模型的基本接口。由于模型是从数据库生成的,我手动将 IBaseEntity 添加到 edmx tt 文件中的每个模型中。
如果我的数据库有任何更改并且我再次更新了图表,则会删除手动添加的界面。
那么 DBFirst 中的任何其他替代方法或我的解决方案在 DB First 中是错误的吗?
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 包管理器控制台工具不支持这些类型的项目。
c# - 如何在 c# ef5 db first 方法中使用 IntersectionTable 更新实体?
我创建了我的数据库并开始使用 EF5 和 DB First 方法在 c# 中开发一个 Web 应用程序。我可以在自己的数据字段上修改我的实体,但在更新关系时不能让它工作。一个简单的关系示例是 Project <- ProjectCategoryIntersection -> Category
模型:
节省:
例外:
multiple instances ChangeTracker
当我尝试将类别直接添加到项目对象时,我也会收到异常:
我应该从我的模型中删除生成的表对象吗?
解决方案
我最终删除了生成的表对象public TProject project { get; private set; }
并将我的代码更改为:
c# - 如何知道项目是代码优先还是数据库优先?
在现有项目中,我如何知道它是代码优先还是数据库优先?
项目有这行代码:
并且项目没有.edmx
文件。如果需要任何其他细节,我会分享。
编辑:
Player.cs 类
编辑 12.05.2017
如果我更改database name
并connection string
运行项目,它会创建database with the new name
with all tables
. 可能这会被击中的答案。
entity-framework-6 - EF6 数据库 首先检查数据库架构更改
我有一个使用 ef6 数据库优先方法生成的 model.edmx 文件。该数据库被许多应用程序使用,我无法控制架构何时或如何更改。
有一个用于“从数据库更新模型”的 GUI 向导,它适用于我的目的。该向导检测我的模型和数据库之间的差异,因此如果我将表直接添加到数据库中,或者从某个现有表中添加/删除列,我可以在“从数据库更新模型”向导中看到这些更改。
有没有办法以编程方式检测这些变化?是否可以以编程方式更新架构?还是完全重新生成它以匹配数据库?
至少,是否可以使用现有的 EF 库以编程方式区分模型与数据库不同步,而不是编写我自己的自定义模式比较。
谢谢你。
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)定义一个连接字符串不是最佳实践。请指导我以正确的方式执行此操作(在一个地方维护一个连接字符串)。
如何在一个地方维护连接字符串?
entity-framework - 如何更改 DbContext.SaveChanges() 的条目值
我们正在尝试在基于 Web API 的应用程序中实现多租户架构。我们在 SQL Server 中使用 RLS,并且Subscription_Id
是给每个订阅者的内容。我们已经在 SQL Server 中设置了默认值Subscription_Id
,所以当我调用 时db.SaveChanges()
,我只想忽略Subscription_Id
从 API 到 SQL Server 的操作。我尝试在覆盖方法中
设置 的值,但被困在这里。Subscription_Id
SaveChanges()
sql-server - Entity Framework 6 不适用于时态表
我已经更改了现有表以使其成为临时表,然后我从数据库中更新了模型。我遇到了这些错误,我在表中添加了两个新列:
错误 3004:从第 1388 行开始映射片段时出现问题:没有为 Set TbCities 中的属性 TbCities.SysStartTime、TbCities.SysEndTime 指定映射。在以下情况下,具有密钥 (PK) 的实体将不会往返:实体类型为 [DiERPModel.TbCities] 1389 15 DiERP
这是我更改表的查询: