# 什么是 EntityManager
使用`EntityManager`,你可以管理(insert, update, delete, load 等)任何实体。
EntityManager 就像放一个实体存储库的集合的地方。
你可以通过`getManager()`或`Connection`访问实体管理器。
如何使用它:
```typescript
import { getManager } from "typeorm";
import { User } from "./entity/User";
const entityManager = getManager(); // 你也可以通过 getConnection().manager 获取
const user = await entityManager.findOne(User, 1);
user.name = "Umed";
await entityManager.save(user);
```
---
# 什么是 Repository
`Repository`就像`EntityManager`一样,但其操作仅限于具体实体。
你可以通过`getRepository(Entity)`,`Connection#getRepository`或`EntityManager#getRepository`访问存储库。
例如:
```typescript
import { getRepository } from "typeorm";
import { User } from "./entity/User";
const userRepository = getRepository(User); // 你也可以通过getConnection().getRepository()或getManager().getRepository() 获取
const user = await userRepository.findOne(1);
user.name = "Umed";
await userRepository.save(user);
```
有三种类型的存储库:
- `Repository` - 任何实体的常规存储库。
- `TreeRepository` - 用于树实体的`Repository`的扩展存储库(比如标有`@ Tree`装饰器的实体)。有特殊的方法来处理树结构。
- `MongoRepository` - 具有特殊功能的存储库,仅用于 MongoDB。
- 快速开始
- 连接
- 使用 ormconfig
- Connection 选项
- 多个 Connection
- Connection API
- 实体
- 嵌入式实体
- 实体继承
- 树实体
- 视图实体
- 分离实体定义
- 关系
- 一对一
- 多对一/一对多的关系
- 多对多的关系
- Eager 和 Lazy 关系
- 关系常见问题
- Entity Manager 和 Repository
- Find 选项
- 自定义存储库
- EntityManager API
- Repository API
- Query Builder
- 使用 Query Builder 插入
- 使用 Query Builder 更新
- 使用 Query Builder 删除
- 与 Relations 结合
- 缓存查询
- 高级主题
- 迁移
- 事务
- 索引
- 实体监听器和订阅者
- 日志
- 使用 CLI
- 故障排除
- 指南
- Active Record 与 Data Mapper
- MongoDB
- 使用 Validation
- 使用 TypeORM 和 Express 的示例
- 使用 JavaScript
- 从 Sequelize 迁移到 TypeORM
- 帮助
- FAQ
- 支持的平台
- 装饰器参考
- 产品路线图
- 支持