entity-framework-core 相关问题

实体框架(EF)Cor​​e是由Microsoft开发的开源ORM。

使用过滤唯一索引时管理更新顺序?

我有一个过滤的唯一索引定义为: 建设者 .HasIndex(e => new { e.UserId, e.IsDefault }) .HasFilter($"[{nameof(MyEntity.IsDefault)}] = 1") .IsUnique() .

回答 1 投票 0

EF Core - 即使更改跟踪器已加载其条目,拥有的类型仍为空

我正在尝试配置一个具有可为空值对象 ChangePasswordCode 的聚合根用户。当我在存储库中调用 _dbContext.Users.FirstOrDefaultAsync 时,我收到一个带有

回答 1 投票 0

POST JSON 对象,枚举 id 作为数字,响应返回枚举字符串名称而不是 int id

只是想知道为什么当我发送带有数字 ID 的 JSON 时: { "name": "美味的食物", “标签”:[ { “姓名”:“印度人”, ...

回答 1 投票 0

使用过滤唯一索引时我们如何管理更新顺序?

我有一个过滤的唯一索引定义为: 建设者 .HasIndex(e => new { e.UserId, e.IsDefault }) .HasFilter($"[{nameof(MyEntity.IsDefault)}] = 1") .IsUnique() .

回答 1 投票 0

EF Core 存储/计算属性查询数据库

我正在尝试将我的 C# 项目从带有 EF 的 ASP.NET 迁移到 ASP.NET Core MVC 和 EF Core。我是自学成才的,我是唯一从事这个项目的人,所以我的项目架构和标准......

回答 1 投票 0

c# asp.net core MVC EF core存储/计算属性查询数据库

我正在尝试将我的项目 MVC 从带有 EF 的 c# asp.net 迁移到 asp.net core 和 EF core。我是自学成才的,我是唯一从事这个项目的人,所以我的项目架构和标准......

回答 1 投票 0

如何在 EF Core 中对 ICollection<T> 应用 Gridify 过滤?

参考以下代码 公开课作者 { 公共字符串名称{获取;放; } 公共 ICollection 书籍 { get;放;} } 公开课图书 { 公共字符串名称{获取;放; }...

回答 1 投票 0

Entity Framework Core - 有没有办法在不使用“NotMapped”的情况下保留无法映射到数据库查询结果中任何列的模型属性

我有一个 Entity Framework Core 8 项目。 下面是模型类。 公开课项目 { 公共字符串 Text1 { 获取;放; } 公共字符串 Text2 { 获取;放; } 公共字符串 Text3 { 获取;放; }

回答 1 投票 0

EF Core 9.HasConversion

我正在尝试在我正在开发的一个新项目中遵循 DDD,但在配置我的 ValueObject 之一时遇到了问题。 我有以下 AggregateRoot 公开密封班活动:

回答 1 投票 0

包含未获取相关实体

这是我的“包含”第一次没有带回实体。我不知道缺少什么 比林斯级 公共订单订单{获取;放; } 公开名单?

回答 1 投票 0

带有额外属性的 EF Core 多对多连接表不起作用

我想要这个连接表,它有 2 个外键,但还添加了一些其他属性: [可序列化] 公共类 GroceryItemGroceryStore { [键、列(顺序 = 0)、必填] 公共...

回答 1 投票 0

ASP.NET Core 在控制器构造函数中访问 User.Identity

我有一个场景,我需要访问构造函数控制器中的 User.Identity Claims。 我需要这个,因为声明包含我启动自定义数据库上下文所需的信息(连接...

回答 5 投票 0

Entity Framework Core:检查逗号分隔的字符串是否包含列表中的任何值

我有下表: 食谱 编号 |原料 ---+-------------- 1 | “1,2,3” 2 | “3,4” 3 | “2” 4 | “……

回答 2 投票 0

重命名实体中的多个属性时,EF Core 迁移会混淆字段名称

重命名实体中的多个属性时,EF Core 迁移会混淆字段名称。如何避免这种情况? 下面您可以看到我如何重命名字段以及自动生成的片段

回答 1 投票 0

实体框架 - 检查逗号分隔的字符串是否包含列表中的任何值

我有一个下表: 食谱 编号 |原料 1 | “1,2,3” 2 | “3,4” 3 | “2” 4 | “1,2,3,4” 我是...

回答 2 投票 0

使用 EF Core、ASP.NET Core 和 C# 将值插入 SQL Server 中的分区视图

我正在使用分区视图(SQL Server 2012 STD 版)根据日期拆分我的大型 Trn 表 我按照以下步骤操作 首先创建了几个表(Trn202425、Trn202324、Trn202223 等)

回答 1 投票 0

将 .NET 8 与 EF Core 和 Identity 结合使用。 UserManager 使用哪个 DbContext? UserManager 出现奇怪的错误

我有一个最初为 .NET 6 编写并使用 WebAssembly 的 Blazor 项目。 我已将其迁移到 .NET 8 - 仍然使用 WebAssembly,但已决定将我的许多“管理”功能移至...

回答 1 投票 0

EF Core 7+ 中的 STRING_AGG

我正在尝试在 SQL Server 端使用 STRING_AGG。根据文档,从 EF Core 7.0 开始, string.Join(分隔符, group.Select(x => x.Property)) 应该翻译成

回答 1 投票 0

EF Core:忽略或打破引用属性命名约定而不重命名属性的方法

我正在尝试将 EF Core 与 MongoDB 结合使用,我已将附加信息分组到单独的类 MyInfo 和 ThirdpartyInfo 中。 内部类 MyObject { [BsonId] 公共 ObjectId Id { 获取;放; }

回答 1 投票 0

无法为“Product”创建 DbSet,因为此类型未包含在上下文的模型中

我正在尝试对 dbContext 的派生类进行单元测试。我不断收到错误消息 [事实] 公共无效 GetAssync_Method_Called() { var options = new DbContextOptionsBuilder 我正在尝试对 dbContext 的派生类进行单元测试。我不断收到错误消息 [Fact] public void GetAssync_Method_Called() { var options = new DbContextOptionsBuilder<CoreDbContext>() //.UseModel() USE MODEL .UseInMemoryDatabase(databaseName: "test") .Options; using (var context = new CoreDbContext(options)) { context.Set<Product>(); //THIS IS THE WAY TO ADD AN ENTITY IN THE CONTEXT...???? Expression<Func<Product, bool>> filter = x => !x.IsDeleted == 1; var result = GetAllAsNoTrackin(filter); Assert.Equal(1, result.Count()); } } 下面是 CoreDbContext 和我正在测试的方法。 public class CoreDbContext : DbContext { public CoreDbContext(DbContextOptions<CoreDbContext> options) : base(options) { } public IQueryable<Product> GetAllAsNoTrackin(Expression<Func<Product, bool>> filter) { var dbSet = Set<Product>().AsNoTracking(); //GETTING ERROR HERE... //more code... } } 我不断收到同样的错误: 无法为“Product”创建 DbSet,因为此类型未包含在上下文的模型中 谷歌搜索后,看起来 DbContextOptionsBuilder 有一个名为 UseModel(IModel model) 的方法,可以代替 OnModelCreating(ModelBuilder builder) 被调用。 不幸的是,我没有在任何地方看到任何有关如何使用它的代码。此外,添加新实体是在创建上下文之后发生的,而 UseModel() 是要传递给 DbContext 的选项的扩展方法。 感谢您的帮助 A DbContext 需要了解实体,它不会发现并假设您在项目中定义的每个类都是实体。有几种方法可以通过约定和/或显式配置来完成此操作。 DbContext 了解实体的最常见方式是通过声明的 DbSet: public class CoreDbContext : DbContext { public DbSet<Product> Products { get; set; } } 这里 DbContext 初始化将识别 Product 实体,并使用约定将其及其公共属性(包括导航属性实体类型)与表结合起来。 如果您没有 DbSet 或与具有 DbSet 的实体的关系,或者无法遵循约定来正确映射它,则需要显式配置。两种常见的方法是通过 OnModelCreating 或使用 IEntityTypeConfiguration,然后在 modelBuilder.ApplyConfigurationsFromAssembly(GetType().Assembly); 内使用 OnModelCreating。这假设实体在与 DbContext 相同的程序集中声明,否则您可以传递任何程序集引用来定位每个实体的 IEntityTypeConfiguration 实现。 DbContext 可以通过 Set<TEntity> 访问配置的实体,但通常通过 DbContext 中的 DbSet<TEnitity> 属性声明和访问这些实体更简单。 与访问和配置实体相关的几乎所有内容都通过 Microsoft 文档中的示例进行了深入介绍:https://learn.microsoft.com/en-us/ef/core/

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.