有关ADO.NET实体框架的问题,.NET Framework的对象关系映射(ORM)工具。如果适用,请添加特定于版本的标记。不要将此标记用于Entity-Framework核心问题。请改用entity-framework-core。
.NET Core Context 通过scaffold-dbContext命令继承IdentityDbContext
我希望在此脚手架命令中创建的上下文继承IdentityDbContext,而不是dbcontext。我如何将其指定为继承?所以 公共部分类 OrderSystemVContext :
.NET Core Scaffold-Dbcontext,无需身份表
我正在尝试一个项目。我在这个项目中使用身份系统。首先,我通过迁移到 SQL Server 创建了 Identity 和 DbContext。现在,在 SQL Server 上创建一个表并 脚手架-dbconte...
如何在 .NET Core 5 中将实体框架原始查询与 PostgreSQL 结合使用?
我正在开发一个项目,在我的 .NET 5 应用程序中从 SQL Server 切换到 PostgreSQL。我必须对现有代码使用原始查询。这是我正在使用的 2 个包: 我正在开发一个项目,在我的 .NET 5 应用程序中从 SQL Server 切换到 PostgreSQL。我必须对现有代码使用原始查询。这是我正在使用的 2 个软件包: <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.0" /> 这个功能很好用: public async Task<ActionResult<List<LoadEntity>>> GetLoadByIdAsync(long id, CancellationToken cancellationToken) { var entity = await _dbContext.LoadEntities .Where(e => e.LoadId == id) .ToListAsync(); if (entity == null) { return NotFound(); } return entity; } 但是,如果我使用原始查询,它就会被破坏: public async Task<ActionResult<List<LoadEntity>>> GetLoadByIdAsync(long id, CancellationToken cancellationToken) { var sqlQuery = $"SELECT * FROM Load WHERE LoadID = {0}"; var entity = await _dbContext.LoadEntities .FromSqlRaw(sqlQuery, id) .ToListAsync(); if (entity == null) { return NotFound(); } return entity; } 它抛出一个错误: Npgsql.PostgresException(0x80004005):42P01:关系“tbload”不存在 在Npgsql.NpgsqlConnector.g__ReadMessageLong | 194_0(NpgsqlConnector连接器,布尔异步,DataRowLoadingMode dataRowLoadingMode,布尔readingNotifications,布尔isReadingPrepishedMessage)... 知道如何在 .NET Core 5 中使用 PostgreSQL 的原始查询吗?提前非常感谢! 根据您的查询,您正在尝试从“加载”表进行查询。 var sqlQuery = $"SELECT * FROM Load WHERE LoadID = {0}"; 但是错误提到: Postgres DB 不包含“tbload”表 这可能是在您的 DbContext 中,您将 LoadEntity 链接到 tbload 表。 确保相应的实体指向数据库中正确的表(名称)。 protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<LoadEntity>(entity => { entity.ToTable("load"); ... }); ... } 此外,您使用FromSqlRaw的方式是不正确且不安全的。目前,您正在查询一个号码,这很好。想象一下,你有另一个查询需要使用 string/varchar/nvarchar 值进行查询,这可能会导致 SQL 注入攻击,例如查询用户数据、删除或删除表/数据库,你会很头疼。 传递参数 但是,如果使用不当,FromSqlRaw 方法可能容易受到 SQL 注入攻击。请参阅下文了解更多详情。 建议使用参数化查询。 var idParameter = new SqlParameter("id", id); var sqlQuery = "SELECT * FROM Load WHERE LoadID = @id"; var entity = await _dbContext.LoadEntities .FromSqlRaw(sqlQuery, idParameter) .ToListAsync();
如何在 .NET Core 5 中将 EntityFramework 原始查询与 PostgreSQL 结合使用?
我正在开发一个项目,在我的 .Net 5 应用程序中将 MSSQL 切换到 PostgreSQL。我必须使用原始查询来获取令人兴奋的代码。这是我正在使用的 2 个包: 我正在开发一个项目,在我的 .Net 5 应用程序中将 MSSQL 切换到 PostgreSQL。我必须使用原始查询来获取令人兴奋的代码。这是我正在使用的 2 个软件包: <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.0" /> 这个功能很好用: public async Task<ActionResult<List<LoadEntity>>> GetLoadByIdAsync(long id, CancellationToken cancellationToken) { var entity = await _dbContext.LoadEntities .Where(e => e.LoadId == id) .ToListAsync(); if (entity == null) { return NotFound(); } return entity; } 但是,如果我使用原始查询,它就会被破坏: public async Task<ActionResult<List<LoadEntity>>> GetLoadByIdAsync(long id, CancellationToken cancellationToken) { var sqlQuery = $"SELECT * FROM Load WHERE LoadID = {0}"; var entity = await _dbContext.LoadEntities .FromSqlRaw(sqlQuery, id) .ToListAsync(); if (entity == null) { return NotFound(); } return entity; } 它抛出错误: Npgsql.PostgresException (0x80004005): 42P01: relation "tbload" does not exist at Npgsql.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|194_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)... 知道如何在 .NET Core 5 中使用 PostgreSQL 的原始查询吗?非常感谢! 根据您的查询,您正在尝试从“加载”表进行查询。 var sqlQuery = $"SELECT * FROM Load WHERE LoadID = {0}"; 但是错误提到: Postgres DB 不包含“tbload”表 这可能是在您的 DbContext 中,您将 LoadEntity 链接到 tbload 表。 确保相应的实体指向数据库中正确的表(名称)。 protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<LoadEntity>(entity => { entity.ToTable("load"); ... }); ... } 此外,您使用FromSqlRaw的方式是不正确且不安全的。目前,您正在查询一个号码,这很好。想象一下,你有另一个查询需要使用 string/varchar/nvarchar 值进行查询,这可能会导致 SQL 注入攻击,例如查询用户数据、删除或删除表/数据库,你会很头疼。 传递参数 但是,如果使用不当,FromSqlRaw 方法可能容易受到 SQL 注入攻击。请参阅下文了解更多详情。 建议使用参数化查询。 var idParameter = new SqlParameter("id", id); var sqlQuery = "SELECT * FROM Load WHERE LoadID = @id"; var entity = await _dbContext.LoadEntities .FromSqlRaw(sqlQuery, idParameter) .ToListAsync();
我试图将列表从控制器发送到视图。我以为它会绑定,但它是一种不同的类型,所以不会。 (错误:参数类型“System.Collections.Generic.List”不可分配给...
我已经在我的用户表中添加了一个已删除的列,但显然身份框架提供的注册新用户方法仍然在数据库中看到这些用户,有没有办法告诉它...
带有延迟加载的 EF Core:NotImplementedException:'这是一个 DynamicProxy2 错误:拦截器尝试“继续”方法
我简单的一行代码 Db.CoverageParts.Add(newPart);在启用延迟加载的情况下,EF Core 5.0.6 / Castle 4.4.1 引发以下异常: 系统未实现异常 HResult=0x8000...
我正在使用实体框架代码优先方法。我想从 DbContext 类调用存储过程并获取 XML 输出。 存储过程(SQL Server): 创建过程 xml_test 作为 ...
命令应按特定顺序执行,而不是作为查询执行。我在 InitializeAccount 方法运行时检查了日志。 dbContext只插入了2个TaskTypeModel。我期待着订单...
这是代码 [HttpGet("生成QrCode")] public ActionResultGenerateQrCode(字符串卖家名称,字符串vatregistration,字符串时间戳,字符串发票金额, 字符串 va...
如何检查日期以确保它不是将来时态,而不使用 EF 将应用程序删除到 WPF 上
我有一个应用程序来维护包含人员及其数据的数据库。例如电话号码、出生日期、地址等。我想修复其中一个错误...我只需添加...的现有日期
Entity Framework Core - 使用给定对象创建多个相同的记录
我从用户输入中接收到 1) 项目列表和 2) 一个人的数据。订单表将包含指向项目和人员的链接。我需要创建链接每个项目和人员的订单记录。豪...
并发错误导致“数据库操作预计影响 1 行,但实际影响 0 行;”
我有以下函数,它接受 BookForUpdateDto 并根据更新的属性更新 Book 实体。当我尝试更新图书 ICollection 内的项目时,它全部有效......
我有一个旧的桌面系统,我正在使用 EF Core 使用 C# 重构后端。 在旧数据库中,有一个表来定义补充产品。我有两列,并且使用相同的
首先,我对我的英语感到抱歉。 我正在开发 ASP.NET Core Web API,并且正在与朋友一起工作。为了舒适地合作,我想使用我们的 API 和数据库设置一个 Docker
DbContext AutoDetectChangesEnabled 设置为 false 检测更改
我有点难住了。根据我所读到的内容,将 DbContext.AutoDetectChangesEnabled 设置为 false 应该禁用更改跟踪,需要调用 DbContext.DetectChanges 才能识别更改...
使用 EntityFramework 在 VirtoCommerce 中引用“StoreShippingMethod”表中的外键“Id”时出现问题
我在尝试从“CustomShipping”表中的“StoreShippingMethod”表引用外键“Id”时遇到问题。当我尝试运行迁移时,出现一个新的 '
我想在 C# 中使用 EF Core 7 执行此查询: var query = (来自 _dbContext.Domaines 中的 t 将tick1加入到t.Iddomaine上的_dbContext.Tickets中等于tick1.Iddomaine ...
我有这段数据库模式,它对于 SQL Server 来说运行得非常好: builder.Property(b => b.FieldName) .UseIdentityColumn(1, 1) .ValueGenerateOnAdd(); 但一旦我尝试过...
我有一个模型的字段/属性需要存储为字符串。但是,它将采用分隔格式,因此在代码中,我希望能够获取并将其设置为可枚举。我正在使用 EFCore...