如何基于通用类型“T”初始化 TypeORM 存储库?

2023-12-29

我想启动一个基于通用类型的 TypeORM 存储库。

例如:

import { Connection, Repository } from 'typeorm';

export class GenericService<T> {
    private repository: Repository<T>;

    constructor(connection: Connection) {
        this.repository = connection.getRepository(T);
        // 'T' only refers to a type, but is being used as a value here.ts(2693)
    }

    public async list(): Promise<T[]> {
        return await this.repository.find();
    }

}

但我无法将泛型类型传递给 ORM 存储库工厂。

'T' 仅指类型,但在这里被用作值。ts(2693

如何基于通用类型创建此通用服务?

附言。我用 C# 确实做到了这一点,而且效果非常好。它节省了我很多时间


您不能在 Typescript 中使用类型作为值,因此您需要使用泛型来对值进行类型检查:

import { Connection, Repository } from 'typeorm';
    
export class GenericService<T> {
   private repository: Repository<T>;
    
   constructor(connection: Connection, repo: T) {
      this.repository: T = connection.getRepository(repo);
   }
    
   public async list(): Promise<T[]> {
      return await this.repository.find();
   }
    
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何基于通用类型“T”初始化 TypeORM 存储库? 的相关文章

随机推荐

  • winform中的activex

    我需要在我的 Net WinForm 中放入一些activeX 提供商向我发送了 tlb 和 com dll 这够了吗 怎么把它放到winform上呢 这应该足够了 您需要在计算机上注册该 dll 将其添加到 dev studio 工具箱
  • 移动远程分支

    After 重写提交树以重命名作者并更改电子邮件 https stackoverflow com questions 750172 how do i change the author of a commit in git 我的本地存储库和
  • 出于未知原因读取串行端口块

    我正在尝试在 Linux 下使用 termios 框架通过 UART usbserial 连接非接触式智能卡读卡器 该代码在 PC 上运行良好 但当我交叉编译并在 ARM9 目标上尝试时 它能够打开设备 甚至可以将命令写入设备 但读取命令会
  • javascript 对 HTML 元素进行排序

    我正在尝试排序li元素并得到意想不到的结果 我需要排序三遍才能正确 我哪里搞错了 javascript var sort by name function a b return a innerHTML toLowerCase gt b in
  • NavigationLink 在按钮内不起作用

    我添加了一个 ToolBarItemGroup 和一个应该导航到另一个视图的按钮 但在这种情况下 带有 navigationLink 的按钮不起作用 这是因为我无法将 navigationLink 添加到 toolbar VStack Na
  • 带有蒙版的 svg 在 chrome 上看不到

    我正在尝试使用 React 动态创建的一些 svg 路径进行掩码 问题是生成的 html 代码无法立即在 Chrome 和 Safari 上正确呈现 调整浏览器窗口大小或从检查器中选中 取消选中样式属性时会出现正确的结果 我觉得问题出在其中
  • Google Cloud LB:更改“服务器错误”默认 html 页面

    默认情况下 如果负载平衡找不到将流量重定向到的后端 例如 如果所有可用后端都已关闭 则会显示以下 html 页面 成绩单 错误 服务器错误 服务器遇到临时错误 无法完成您的请求 请在 30 秒后重试 我想使用我自己的静态 html 页面 我
  • 替换 IE 的 Twitter Bootstrap 导航栏中的背景

    我正在尝试用我自己的图像替换 Twitter Bootstrap 导航栏的背景图像 它适用于 Chrome Firefox 和 Safari 但不适用于 Internet Explorer 我对 IE 缺少什么 在IE中仍然是纯黑色 nav
  • 如何签署 XLA(Excel 加载项)?

    可以通过代码做到这一点吗 也许有可能 但据我所知 任何预构建的 API 都无法做到这一点 如果您可以从代码中签署代码 它将允许自我修改保持签名状态 这将是一个安全问题 现在 VBA 确实允许二进制读 写 您可以在应用程序上安装一个监视器 观
  • vb.net 无法 Console.SetWindowPosition

    我正在 VB NET 中创建 Windows 控制台应用程序 但无法设置相对于屏幕的窗口位置 简而言之 我想要一个使窗口居中于屏幕的功能 我尝试过使用Console SetWindowPosition w h 方法和Console Wind
  • Excel VBA 对象构造函数和析构函数

    我需要在 VBA 中创建一些需要相互引用的自定义对象 但我遇到了一些问题 首先 VBA 中的对象构造函数如何工作 有构造函数吗 第二 有析构函数吗 VBA 如何处理对象生命周期的结束 如果我有一个引用其他对象的对象 这是它们唯一的引用 那么
  • javascript onmouseout 应用于由孩子触发的 div

    我无法通过谷歌找到解决方案 但我认为这将是一个相当常见的问题 我有一个 div 我已经应用了 onmouseout 事件处理程序 该处理程序用于使用 jquerys slideup 函数滚动菜单 因为我希望鼠标离开时隐藏菜单 问题是该 di
  • 检查 Service Worker 中的窗口是否处于活动状态

    我正在尝试运行一个在窗口处于非活动状态时发送推送通知的 Web 应用程序 为此 我有一个 Service Worker 来帮助接收来自我的 php 服务器的通知 通过 Firebase 但是 我不确定如何通过我的服务工作人员检查窗口是否处于
  • 替换 Google App Engine (GAE) 中的 PIL (ImageDraw) 功能

    因此 Google App Engine 看起来不会包含 Python 图像库 有一个图片API http code google com appengine docs python images 但它微不足道 不足以满足我的需要 我想知道
  • Android 互联网连接检查问题

    我是 Android 开发新手 正在开发一个 Android 应用程序 该应用程序需要手机通过 Wifi EDGE 或 3G 连接到互联网 这是我用来检查互联网连接是否可用的代码 public static boolean isConnec
  • 在文件系统中移动该类后,出现“Class XXX 不是有效实体或映射的超类”

    我在 Aib PlatformBundle Entity User php 中有一个实体类 我尝试通过以下方式创建其表单类没有任何问题 php 应用程序 控制台学说 生成 表单 AibPlatformBundle 用户 现在我已将命名空间更
  • 如何获取文本的子串?

    我的文本长度约为 700 我怎样才能只得到大约 30 个前字符 如果你的文字在your text变量 您可以使用 your text 0 29
  • 在 jQuery 中将 JSON 数组转换为 HTML 表

    有没有一种非常简单的方法可以获取 JSON 对象数组并将其转换为 HTML 表 不包括一些字段 或者我必须手动执行此操作 使用 jQuery 将使这变得更简单 以下代码将获取一个数组数组并将它们存储转换为行和单元格 getJSON url
  • 泽西岛 URL 转发

    在 Jersey REST 方法中 我想转发到另一个网站 我怎样才能做到这一点 Path public class News GET Produces MediaType TEXT HTML Path go news id public S
  • 如何基于通用类型“T”初始化 TypeORM 存储库?

    我想启动一个基于通用类型的 TypeORM 存储库 例如 import Connection Repository from typeorm export class GenericService