问题标签 [ef-power-tools]
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.
c# - 用于处理空字符串的数据注释
我使用 EF Core Powertools 将我的 Db 中的一组表逆向工程为 EF 数据模型。
在表中创建记录时,一个或多个 varchar 字段被标记为允许为空。
如果我更新这些字段上的实体属性以使用
这将使空字符串通过,但是在查询表中已经包含一个或多个这些字段的空值的实体列表时,这不会因为属性而失败吗?例如,它不只是空的,它是空的。
那么如何修改实体定义以既允许保存空字符串,又允许查询结果中的空值呢?
ef-core-2.2 - EF Core 电动工具生成可为空的布尔值
我正在使用带有EF Core Power Tools
版本的版本2.4.0
Miccrosoft.EntifyFrameworkCore.SqlServer
2.2.6
我IsActive
定义了 SQL 表列,因为[IsActive] [bit] NOT NULL
我使用 EF Core Power Tool 的逆向工程来生成实体和数据库上下文。
ISSUE
该工具生成可为空的布尔属性,而不仅仅是布尔
public bool? IsActive { get; set; }
对应 DBContext 的 OnModelCreating 方法
c# - EF Core 3.1.3:将 .Include() 与基本父/子关系表一起使用时生成额外的列
当我尝试使用.Include()扩展方法使用 Entity Framework Core 3.1.3 时,我在诊断错误时遇到了一些问题(无效的列名 'AgencyOfficeId' )。我正在尝试返回父记录(AgencyEmployee)和相应关系记录的集合。下面是我尝试运行以返回 List 的 C# 代码,其中包括其关联的 AgencyOfficeAgencyEmployeeRelationship 记录。(C# 模型和 DbContext 配置如下。)
EF Core 在运行上述代码时生成的原始 SQL 如下:
我有三个模型代表 MS SQL Server 中的表:AgencyOffice、AgencyEmployee和AgencyOfficeAgencyEmployeeRelationship。我正在使用 EFPowerTools 的逆向工程师功能生成以下 C# 模型:
机构员工:
代理处:
AgencyOfficeAgencyEmployeeRelationship :
这是OnModelCreating()方法中每个表/模型的 DbContext 配置
有人对我可能出错的地方有任何想法吗?如果我尝试选择AgencyOffices和相关关系记录,EF Core 会生成有效的 SQL,而不需要任何额外的字段。仅当我尝试选择AgencyEmployees时才会出现问题。
如果有人需要任何其他信息,请告诉我。感谢您抽出宝贵的时间!
c# - EF Core Power Tools 逆向工程师在不同 SQL 服务器上的模型上创建不同的属性
我正在使用 EF Core Power Tools 通过在 Visual Studio .Net 中选择 EF Core Power Tools -> Reverse Enegineer 来生成我的模型。
我仍在使用 EF Core 2.x,因此我从第一个对话框中删除了复选标记,您可以在其中选择使用 EF Core 3.x。
在最后一个选项对话框中,我选择:
- 使用 DataAnnotation 属性来配置模型。
- 使用 Handlebars 模板 (C#) 自定义代码。
我正在为我的数据库使用 SQL Server。
我的问题是,当我在本地数据库上运行工具时,生成的模型与另一台服务器上的数据库版本不同。
不同之处在于生成的 POCO 类。在我的本地数据库上,生成了以下类:
当我针对另一个数据库运行该工具时,代码如下所示:
为什么该工具生成的模型在一个数据库的 dbo 表上具有属性而在另一个数据库上没有属性?
.net-core - EF Power Tools 默认为 pascalcase
我们最近采用 EF Power Tools 逆向工程在 .Net Core 3 Web API 中创建实体。这产生了以 pascalcase 而不是默认的 camelcase 返回数据的意外后果。我已经尝试过startup.cs
:
和
entity-framework-core - EF Core Power Tools 不保留标识列名称
我有.NET Core 3.1 .NET Standard 2.0 类库,Microsoft.EntityFrameworkCore.SqlServer 3.1.8.
我正在使用 VS 2019 和 EF Core Power Tools2.4.217
我所有的 SQL 表名称都是复数形式,并且具有具有以下命名约定的标识列{TableName}ID
。所以例如Documents
表有标识列DocumentID
当我使用逆向工程生成实体时,电动工具生成属性名称DocumentId
而不是DocumentID
外键列也会出现同样的问题。
如何告诉电动工具不要ID
改成Id
?
更新 1
请注意,我有另一个具有不同数据库的 .NET Core 2.* 应用程序。我正在使用相同版本的电动工具,它ID
按ID
预期生成。但是.NET Core 3 有问题
sqlite - 编辑 SQLite3 数据库信息
在 VS2019 中,我打开了“SQLite/SQL Server Compact Toolbox”窗口。如果我右键单击我的 SQLite3 数据库,菜单项之一会显示“数据库信息”。如果我运行它,我会得到:
我还可以WrongProjectPath
使用 HEX 编辑器在实际的 db 文件中看到。
我从另一个项目中复制了这个数据库,现在想更改该信息以反映正确的项目名称。
我怎样才能做到这一点?
azure - Entity Framework Core 5 尝试为计算列插入值
使用 Entity Framework 5 和 EF Core Power Tools(启用了生成 ef 5 代码的设置),我们会为每个计算列生成类似以下代码:
这是完全正确的。
不幸的是,尝试创建一个具有计算列的新实体并尝试保存我们从 ef core 5 中得到以下异常:
无法修改列“...”,因为它是计算列或者是 UNION 运算符的结果
当手动附加类似这样的ValueGeneratedOnAddOrUpdate
之后:HasComputedColumnSql
一切正常。
根据文档,这应该由HasComputedColumnSql
.
可以做些什么来克服这个问题?
我们正在使用 Microsoft.EntityFrameworkCore v5.0.5 包,并且我们正在使用 Azure Managed Sql Server Instance
c# - EFCore Power Tools:要执行的应用程序不存在:'contextlist'
我正在使用EF Core Power Tools,当我尝试“将 DbContext 与数据库进行比较”时遇到问题:
我使用的是 2.5.636 版本。以下是 efptparams.txt 文件中的内容:
当我尝试这个时,输出窗口中会显示以下内容:
c# - EF Core Power Tools 在不同的项目中生成模型
我正在使用一个巨大的数据库,并将我的实体放在自己的项目中,与数据库项目分开。EF Core Power Tools 提供了命名模型一旦生成后将添加到的位置的选项,有什么方法可以在另一个项目中生成模型?
答:这很简单,只需将 ../[project_name]/[folder_name] 添加到询问您希望在哪里生成模型的文本框中