RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1609501
Accepted
Garp
Garp
Asked:2025-03-28 16:38:54 +0000 UTC2025-03-28 16:38:54 +0000 UTC 2025-03-28 16:38:54 +0000 UTC

Web API + postgresql,错误‘42p01 关系...不存在’

  • 772

小项目ASP .Net Web API,bd postgresql。

该数据库booksdb是在管理面板中手动创建的。有一张桌子books,位于shemas.public。手动添加了几行数据(QueryTool也可以通过管理面板中的界面)

语境:

public class BookStoreDbContext : DbContext
{
    public BookStoreDbContext(DbContextOptions<BookStoreDbContext> options)
            : base(options) 
    {
    }
    public DbSet<BookEntity> Books { get; set; }
}

连接字符串:

"ConnectionStrings": {
  "BookStoreDbContext": " ......User ID=postgres;Database=booksdb;"

错误:

在此处输入图片描述

项目正在正确构建。

没有前端,我使用 Swagger,它应该返回模拟数据字符串。

错误前调试:

在此处输入图片描述

该库可以从外部访问,例如从 Python:

import psycopg2

conn = psycopg2.connect(dbname="books1db",
                 host="127.0.0.1",
                 user="postgres",
                 password="my_password",
                 port="5432")
cursor = conn.cursor()
query = "SELECT * FROM books"
cursor.execute(query)  
result = cursor.fetchall()
cursor.close()
conn.close()
for row in result:
    print(row)

关于这个错误有很多记载(例如),但所有情况都是(1)代码中数据库创建不正确(2)代码中查询不正确。 “不正确”是因为大小写不正确,或者括号和引号不正确,或者必须通过模式名称访问表。就我而言,这些都不存在。

postgresql
  • 1 1 个回答
  • 93 Views

1 个回答

  • Voted
  1. Best Answer
    Faraday
    2025-03-31T22:30:20Z2025-03-31T22:30:20Z

    从评论来看,我不太明白您在使用 DB 和 时到底理解了什么EF Core,但我决定描述几个理论上应该对您有帮助的可能选项


    数据库优先

    是啊,是啊。由于您通过手动创建了数据库,因此您应该使用能够为您正确生成数据库上下文和所有实体(表)的pgAdmin方法。Database First

    让我简单描述一下您需要做的流程。来源在这里,下面只是一个简短的分步说明。

    通过以下方式执行的命令Package Manager Console:

    Scaffold-DbContext "Host=localhost;Port=5432;Database=your_db;Username=your_user;Password=your_password" Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir Models
    

    connectionString或者从项目配置文件中使用:

    Scaffold-DbContext "Name=DefaultConnection" Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir Models
    

    可能的命令参数:

    • OutputDir Models - 指定生成模型的文件夹。
    • ContextDir Contexts - 指定用于生成模型的文件夹。
    • Context YourDbContext - 指定正在创建的上下文的名称。
    • 强制——覆盖现有文件。

    这样,您可以从现有数据库中提取所有必要的数据。


    代码优先

    原文在这里

    您可以从代码生成数据库。首先创建您需要的类Book,它描述您在数据库中所需的数据。接下来,根据本文以及相应的配置创建一个DbContext。迁移完成后,您将拥有一个可以交互的生成数据库。


    我还建议阅读本文Generic Repository中有关正确注册的内容asp.net

    • 2

相关问题

  • 表不可见

  • 如何修复 postgresql 堆栈深度限制超出错误?

  • 如何为 PostgreSQL 添加 ENUM

  • PostgreSQL:如何在冲突中执行插入操作?

  • 在哪里可以看到所有 postgre 宏?

  • SQL。将SELECT结果合并为一行,需要将得到的结果替换为可读的结果

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5