问题标签 [entity-framework-core-2.2]

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 回答
224 浏览

c# - 配置实体框架以使用 char 而不是 varchar

如何配置实体框架模型以生成具有类型列CHAR(X)而不是VARCHAR(X)or的表NVARCHAR(X)

0 投票
1 回答
798 浏览

entity-framework-core - 如何使用 Entity Framework Core 2.2 播种自引用树

当我尝试添加迁移时,出现以下异常:

无法添加实体类型“流派”的种子实体,因为它设置了导航“子流派”。要种子关系,您需要将相关实体种子添加到“流派”并指定外键值 {'ParentId'}

我如何正确设置种子EntityFrameworkCore 2.2

我有下一个实体

数据库上下文

}

工厂

0 投票
1 回答
10076 浏览

entity-framework - EF Core 中的一对一关系(无法确定一对一关系的子/依赖方)

我一直收到以下错误消息,但我似乎无法理解我收到它的原因。有趣的是,在添加迁移时我没有收到任何错误,但每当我想使用上下文时,我都会得到它。

无法确定“Block.JobBlock”和“JobBlock.Block”之间的一对一关系的子/依赖方。要识别关系的子/依赖方,请配置外键属性。如果这些导航不应该是同一关系的一部分,请在不指定相反的情况下配置它们。

AJob可以有多个JobBlocks(一对多);singleBlock只能有一个JobBlock(一对一)。所以基本上, aJobBlock是一个引用表/实体,用于引用Job及其Blocks. 重要的是要提到JobBlock实体中的主键由两个键组成,因此使其成为复合主键。

有人可能会争辩说,一个Block实体应该已经包含一个IdJob属性,并且该JobBlock实体可以被完全解雇,但是有一些理由为什么不应该这样做,所以让我们保持原样:)

楷模:

英孚配置:

0 投票
0 回答
660 浏览

c# - 无法翻译 LINQ 表达式“Sum()”并将在本地计算

我在 Entity Framework Core 中有以下查询:

当我运行此查询时,我收到消息:

我错过了什么

0 投票
5 回答
262 浏览

c# - 让所有父母共同拥有孩子

我有以下使用 Entity Framework Core 的实体:

鉴于IQueryable<Parent>我需要,使用 Linq to Entities lambda 表达式:

  1. 让所有父母共有的孩子
  2. 对于每一个都从with中Children获得它的名字。ChildrenLocalizationLanguage="en"

所以我尝试了以下方法:

这个查询给出了预期的结果,但它似乎太复杂了。

我无法改进它,例如,我需要添加最后一个 GroupBy 才能使其工作。

如何使我的查询更简单?

0 投票
2 回答
1094 浏览

c# - 带有子实体的 EF Core 自由文本

EF Core 2.1 添加FREETEXT. 但是,我有一个不同的问题,使用 EF Core 2.2:EF Core 是否FREETEXT支持子实体?

Name 是一个拥有的实体(值对象),非常适合搜索:

地址是一个子实体:

此搜索工作正常:

此搜索不会,因为最终术语无法翻译为 SQL:

有什么办法可以解决这个问题,还是我需要使用 SQL 函数?我尝试过使用Select()语句,但也无法完全转换为 SQL。

0 投票
0 回答
196 浏览

entity-framework - 将复合主键映射为单个值对象(就 DDD 而言)?

是否可以在 Entity Framework Core 中将复合主键映射为单个值对象?然后:它在 LINQ 查询中是否正常工作?

我知道在 EF Core 2.2 之前对 VO 的支持不是很好。

是否可以在 EF 中映射它?请注意,这种映射和 LINQ 查询在 (n)Hibernate 中是可能的。我希望 EF Core 也一样...

0 投票
3 回答
1774 浏览

c# - 添加迁移时使用提取数据库连接字符串时ConfigurationManager返回null

我在我的 .NET Core 控制台应用程序中使用 Entity Framework Core。我将连接字符串存储在App.config文件中并ConfigurationManager在上下文类中使用来访问连接字符串。

当我想向我的项目添加新迁移时,出现以下错误:

System.NullReferenceException:对象引用未设置为对象的实例。

在 EF_tut.Context.OnConfiguring(DbContextOptionsBuilder optionsBuilder) 在 C:\..\Context.cs:line 12
在 Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
在 Microsoft.EntityFrameworkCore.Internal.InternalAccessorExtensions.GetService[TService](IInfrastructure1 accessor)
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func
1 工厂)在 Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType) 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor 的 Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(String contextType)。 Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.b__0() 中的 AddMigrationImpl(String name, String outputDir, String contextType) Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)

你调用的对象是空的。

这是我的App.config文件:

这是我的上下文类:

当我尝试ConfigurationManger在 main 方法中使用获取连接字符串时,我得到了连接字符串,但是当我添加迁移时,我得到空引用错误。

0 投票
1 回答
240 浏览

entity-framework - 如何结合存储库模式和 UoW

我开始证明 EF-Core 2 并且我阅读了有关工作单元和存储库模式的信息。我尝试做一个数据库项目 Code First 并且我有 3 个实体(用户、产品和提供者),我如何应用存储库模式和单元在我的项目中工作,因为我不知道如何将它们组合在同一个项目中,有人可以帮助我吗?

0 投票
1 回答
261 浏览

asp.net-mvc - 如何在新数据库中执行 SQL 查询?

我的问题是这样的......我正在创建一个软件,其中您有不同的业务领域,并且这些领域有一个属性名称 ConnectionString。

所以当系统管理员想知道该区域的某些特定信息时,他所做的就是注册一个SQL查询。

我的问题在于如何执行查询的逻辑。我正在创建一个新的 DbContext 并传递连接字符串,但我找不到 DbContext 的函数来运行查询。

有人知道 DbContext 的任何功能来运行查询并获得结果吗?