ServiceStack.OrmLite.NET 的 ORM 框架

联合创作 · 2023-09-30 03:05

ServiceStack.OrmLite 是一个开源的无配置的轻量级 .NET 和 Mono 的 ORM 框架。

OrmLite 的目标是提供一种方便的,DRY,无配置的,与 RDBMS 无关的类型化包装器,该包装器与 SQL 保持高度亲和力,公开直观的 API,这些 API 生成可预测的 SQL 并干净地映射到(对 DTO 友好的)断开连接的 POCO。这种方法使您可以更轻松地进行数据访问推理,从而使您很清楚何时在执行什么 SQL,同时减轻了重型 ORM 中普遍存在的意外行为,隐式 N + 1 查询和泄漏数据访问。

OrmLite 的设计重点:

  • 围绕 .NET 不可知的System.Data.*接口提供一组轻量级 C#扩展方法
  • 按照惯例,将 POCO 类 1:1 映射到 RDBMS 表,不需要任何属性。
  • 仅使用 POCO 类定义来创建/删除 DB Table 模式(IOTW 是真正的代码优先 ORM)
  • 简单性-适用于常见数据访问模式的友好型 API。
  • 高性能-支持索引,文本 Blob 等
  • 强大的功能和灵活性-可以访问 IDbCommand 和原始 SQL
  • 跨平台-支持在 .NET 和 Mono 平台上运行的多个数据库(当前:Sql Server,Sqlite,MySql,PostgreSQL,Firebird)。

在 OrmLite 中:1类= 1表。不应有任何令人惊讶或隐藏的行为,生成查询的 Typed API 不会影响将结果直观地映射 到返回的 POCO 的方式,这可能不同于用于创建查询的 POCO,例如仅包含字段的子集您想填充。

默认情况下,使用任何可用的可插拔文本序列化器在无模式文本字段中将所有非标量属性(即复杂类型)的文本放白。还提供对 POCO 友好引用的支持,以提供方便的 API 来持久化相关模型。这有效地允许您从任何 POCO 类型创建一个表,并且该表应按预期保留在 DB 表中,该表具有每个第一级公共属性类的列。

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报