问题标签 [bltoolkit]

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 投票
1 回答
8294 浏览

.net - 为什么 BLToolkit 没有更受欢迎?

在网上搜索针对 .NET 的轻量级、快速的 ORM 时,我发现了BLToolKit,它在性能、开放性、可维护性和灵活性方面看起来绝对令人惊叹。

但是,我也注意到它很少受到社区的喜爱,只有 9 个关于 SO 的问题。任何人都可以对此有所了解吗?

人们只是在滚动他们自己的 DAL,爱上实体框架,还是使用其他一些 ORM?

0 投票
0 回答
1046 浏览

database - 使用 SELECT JOIN 的 BLToolkit 复杂映射

尝试在我的项目中使用 BLToolkit 映射器。有一件事我真的不知道如何解决,问题是我有 2 个类 Content 和 Comment。

好吧,看起来就像每个人在 BLToolkit.net 上看到的示例一样简单的复杂映射。但是,我正在尝试使用 SELECT JOIN 查询。这是我的查询。

此查询返回正确的数据(使用 ExecuteReader 检查)。但是在 MapResultSets 中只有 Content 数据,没有 Comment 数据……如果我将交换 Content 和 Comment 集……我将只得到 Comment 数据,没有 Content 数据……我现在什至不关心 realtions ,我只是想向 BLToolkit 解释一下,1 行中有 2 个类的数据。

0 投票
1 回答
748 浏览

c# - BLToolkit:尝试更新实体并获得“无法转换为 SQL 错误”

我有一个更新方法:

和实体:

这是更新代码:

当我尝试更新表中的条目时,我得到“'Convert(item).Id' 无法转换为 SQL。” 错误。我试过不更新id,结果是一样的。我希望我能找到解决方案,但我不能。感谢您的回答。

0 投票
2 回答
3581 浏览

c# - BLToolkit 中的字段映射到类类型属性

我的表架构(摘录)

实体类

问题?

将字段映射到我的班级是问题所在。我想直接从来自数据表(顶部)的平面结果集中映射内部类属性。

我已经MapFieldAttribute在类级别设置设置(如上代码所示),但我的规则始终为空。假设问题的一部分是这个内部类属性必须首先实例化才能分配给,因为所有 BLToolkit 示例都使用不可为空的内部对象。但在我的情况下,我不想创建它的实例(如果它应该是) null(大多数时候它会是null)。

那应该怎么做呢?

0 投票
1 回答
2949 浏览

stored-procedures - 支持存储过程的 BLToolkit 替代对象映射器

我不太喜欢直接实体映射器,因为我仍然认为直接在数据库上手动编写 SQL 查询是最快和最优化的(使用正确的连接、分组、索引等)。

在我当前的项目中,我决定尝试一下 BLToolkit,我对它围绕 Ado.net 的包装器和速度非常满意,因此我查询数据库并获取强类型 C# 对象。我还编写了一个生成存储过程助手的 T4,因此在调用存储过程时我不必使用魔术字符串,因此我所有的调用都使用强类型作为参数。

基本上我所有的 CRUD 调用都是通过存储过程完成的,因为我的许多查询不是简单的选择语句,尤其是我的创建和更新也返回结果,这很容易使用存储过程进行一次调用。反正...

缺点

BLToolkit 的最大缺点(我希望每个评估 BLToolkit 的人都知道这一点)不是它的功能或速度,而是它非常稀缺的文档以及支持或缺乏支持。所以这个库的最大问题是反复试验以使其正常工作。这就是为什么我也不想使用太多不同的部分,因为我使用的越多,我必须自己解决的问题就越多。

问题

我对 BLToolkit 有什么替代方案:

  • 支持使用返回我提供的任何实体的存储过程,这些实体不一定与数据库表相同
  • 提供从数据读取器到对象的漂亮对象映射器
  • 支持关系(全部)
  • 对多个结果集结果的可选(但可取)支持
  • 不需要任何特殊配置(我只使用数据连接字符串,没有别的)

基本上它应该是非常轻量级的,基本上应该只有一个简单的 Ado.net 包装器和对象映射器。

最重要的要求:易于使用,得到很好的支持并且社区使用它

0 投票
1 回答
669 浏览

entity-relationship - 在子相关实体中没有反向引用的一对多

Post如果我在两个实体(即和)之间有一对多的关系,Comment并且我的类定义为:

但是我的Comment子相关类没有 type 的属性Post,因为永远不需要从评论到发布。评论始终与主帖​​子实例一起显示。

然后我有一个存储过程,它返回两个结果集:与它们相关的帖子和​​评论。我将我的定义MapResultSet

但这不起作用,因为Comment没有对其的引用,Post因此我没有为上层代码中的第二个参数定义任何内容。如果我提供string.Empty或者null如果方法参数无效,我会得到一个异常。

Post我应该如何在不添加属性的情况下定义这两个实体之间的关系Comment

0 投票
2 回答
890 浏览

c# - 带有 Linq 的 BLToolkit -- 为什么需要 `using` 语句?

我考虑到 SubSonic 3 最近的(极端)性能问题,我们正在寻求迁移 ORM,最好尽可能少地重写代码(主要是 Linq)。

所以我在看BLToolkit。我看到的 SubSonic 和 BLToolkit 之间的主要区别之一是 BLToolkit 总是需要一个using声明。例如:

这究竟是做什么的?当您创建数据库的新实例时,它是否会创建新连接?将其“包装”到静态类中以便我可以在任何地方进行操作是否合理var q=from e in Database.Employee ...?这在 Web 应用程序的上下文中会产生什么影响?

0 投票
1 回答
904 浏览

linq - 使用 BLToolkit 和 Linq 的标量函数

我正在使用 BLToolkit 库将我的 SQL 过程转换为 Linq。

现在我遇到了一个小问题,所以如果有人知道这是否可能,我将非常感谢您的帮助。

无论如何,我有一个看起来像这样的 sql 查询(注意:这不是我的实际表名,我只是翻译了它们,所以你们可以理解发生了什么)

除了我需要在当天为每种产品征税外,这里没有什么太花哨的东西。

现在我需要将其转换为 Linq,但我不知道这是否可能。我尝试过这样的事情

它不起作用。GetWork函数本质上只是另一个返回税款的 linq 查询。我不知道如何使用 BLToolkit 库调用标量函数。

所以问题是这样的。是否可以从 Linq 选择语句中调用标量函数?

0 投票
1 回答
1029 浏览

linq - BLToolkit 中的表值函数

是否可以通过使用 BLToolkit 库来使用 SQL Server 表值函数?

我想在 Linq 查询中使用它,但我在 library wiki上找不到任何关于此的内容。

0 投票
1 回答
915 浏览

sql - BLToolkit 更新加入

任何人都知道如何使用 BLToolkit 语法编写以下更新代码,其中我需要连接两个表并更新其中一个。在 SQL Server 中,这样做是这样的:

到目前为止,这就是我完成更新的方式。