问题标签 [micro-orm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
25568 浏览

visual-studio-2010 - 如何使用 Dapper 从数据库生成模型?

我来自 PetaPoco 营地。PetaPoco 有一个从数据库生成模型的 T4 模板。Dapper 有类似的东西吗?

我使用 NuGet 安装了 Dapper 并添加了 SqlHelper.cs,但我没有找到任何从数据库生成模型的东西。

0 投票
1 回答
537 浏览

c# - 实现轻量级 TransactionScope

我指的是这个 SO 问题: Bulk inserts takes longer than expected using Dapper

以及对这个问题的@SamSaffron 评论:

“TransactionScope 做了一堆你通常不关心的 DTC 废话,除非我需要那个功能,否则会避免它,很容易滚动你自己的上下文附加到线程本地存储”

我知道如何通过使用附加到[ThreadStatic]变量的事务来滚动我自己的 TransactionManager,但是是否有一些可靠的方法来模拟这样TransactionScope命令将自动登记我的事务?最终产品将是一个没有我们任何 MSDTC 管道的事务范围。

0 投票
2 回答
423 浏览

c# - 微工具在应用架构中的位置

像这样的简单语句:“Select x,y,z From Customer”位于数据访问层中。

如果查询中有逻辑,比如过滤来自某个城市的客户,我将不得不将过滤放在我的业务层中,并在内存中的客户集合上进行。

当我现在考虑 Micro ORM 工具时,它们经常显示带有如下逻辑的 Sql 语句:

我现在应该把这行代码放在哪里?在业务层还是数据访问层?

语句内部有逻辑,应该属于业务层。但后来我有

在我的 BLL 中选择语句??

这一切都令人困惑。

0 投票
1 回答
632 浏览

c#-3.0 - 3.5 上带有 dapper 的动态结果集

我有一个存储过程调用返回一个预先未知字段的记录集。出于某种互操作的原因,我需要让它在 3.5 上运行,所以我没有任何动态支持。dapper 中是否有一些内置解决方案?我自己一个也没找到。如果没有这样的解决方案,动态创建一个暴露我要获取的属性的类型是否有意义(并且它是否有效)? 编辑 我设法通过在 c# 3.0 中创建一个动态对象来添加一个完全外部的解决方案(无需调整原始代码库)。 这是扩展小巧的代码 ,这里是动态对象的工厂

0 投票
1 回答
152 浏览

c# - 哪个微 ORM 为每个表生成一个代码文件

我使用了 petapoco,但它在 1 个文件中都出现了问题。

我希望能够做更多的 rails 方式 - 每个类有 1 个生成的代码文件。

谢谢。

0 投票
3 回答
2324 浏览

asynchronous - ServiceStack 和 OrmLite 中的异步支持

目前存在一个 ServiceStack 的异步分支,这将使创建异步服务成为可能。但是要获得异步的所有好处,所有 IO 绑定操作都应该是异步的,因此所有数据库请求也应该是异步的。我目前正在将 OrmLite 与 Postgresql 一起使用,因此我想知道 OrmLite 是否支持异步查询/操作?如果没有,还有哪些其他 .Net Micro-Orms 支持异步操作?

0 投票
1 回答
4631 浏览

dapper - Dapper.Net 和 Dapper.Net 扩展是否有等效于“NotMapped”的方法?

我已经开始使用 Dapper.Net,并且到目前为止我真的很喜欢它 - 但是,我遇到了一个问题。

假设我有一个 POCO 类,例如:

现在,使用 Dapper.Net 和 Dapper.Net 扩展,我想通过执行以下操作从数据库中加载该数据类型的所有实例:

这在 Linq 设置中可以正常工作,但是当它使用 .ToList() 来强制评估时,它会在 FullName 上显示“无效的列名”。考虑到它可能尊重 NotMapped 的实体框架 DataAnnotations 内容,我尝试添加一个 NotMapped 属性(在将 EF 5 添加到项目之后)。这没有用。

所以,问题是,我如何告诉 Dapper.Net 不希望从数据库中获得一列?这是扩展的问题吗,试图为它在模型 POCO 中看到的所有内容映射一个 DB 列?我是否需要恢复编写 SQL,并明确询问我只想要的列,或者有没有办法在列上获得与 NotMapped 等效的列?

0 投票
2 回答
4476 浏览

c# - 使用 Dapper 扩展自定义 SQL

我正在为我的某些类型使用 Dapper Extensions,它对大多数用例都非常有效。我遇到了一个我有很多关系的案例,我想做类似的事情:-

显然,Dapper Extensions 可以处理“SELECT id,a,b,c FROM Foo”,但不能处理后半部分。我可以进行选择以获取我想要的 Foo id 列表,然后将其传递给 Dapper Extensions,但这效率较低。

我不能用普通的 Dapper 做的部分是自动获取 SELECT 列列表,所以我真正想要的是一种方法:-

  • 从 Dapper Extension 的内部机制中获取 SELECT 列列表
  • 从 Dapper Extension 的内部机制中获取基本的“SELECT id,a,b,c FROM Foo”
  • Hook Dapper Extensions 获取代码,以便我可以添加自定义 WHERE 子句

我查看了代码,但我不知道如何做这些事情。任何人都可以帮忙吗?目前我已经通过使用普通的 Dapper 和“SELECT * ...”来解决问题,但我确信有更好的方法。

0 投票
2 回答
1800 浏览

c# - 在 Visual Studio 中使用 Intellisense 的 Simple.Data Micro ORM(动态)

我决定使用Simple.Data Micro ORM,因为它可以简单地使用数据库并节省我编写大量代码的时间,而且由于动态,我甚至不需要创建对象!

问题是我在 Visual Studio 中失去了 Intellisense 支持,而且我不喜欢每次编写代码时都查看行名。有没有办法利用动态智能感知,即使是以零散的方式?

所以他们可能会质疑是否有可能以一种或另一种方式对动态进行智能感知?

0 投票
3 回答
609 浏览

asp.net - Simple.Data 默认生成的查询和性能

我正在考虑为我的 ASP.NET 4.5 网站使用 Simple.Data Micro-ORM。但是,在决定是否使用它之前,我需要知道一些事情。

让我们以下面的 Join 查询为例:

此查询将被翻译为:

让我们假设“流派”表是一个包含数千甚至数百万行的表。我认为在 JOIN 发生后过滤数据可能非常低效,这就是该查询在 Simple.Date 中翻译的内容。

过滤Generes表中的数据会更好,这意味着首先创建一个SELECT语句并与该过滤表进行JOIN?

提前过滤数据不是更好吗?

此外,是否可以选择使用 Simple.Data 进行这种类型的复杂(在过滤表上加入)查询。

需要您的答案才能知道是继续使用 Simple.Data,还是将其抑制为支持另一个微 ORM。