问题标签 [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.
.net - 为什么 BLToolkit 没有更受欢迎?
在网上搜索针对 .NET 的轻量级、快速的 ORM 时,我发现了BLToolKit,它在性能、开放性、可维护性和灵活性方面看起来绝对令人惊叹。
但是,我也注意到它很少受到社区的喜爱,只有 9 个关于 SO 的问题。任何人都可以对此有所了解吗?
人们只是在滚动他们自己的 DAL,爱上实体框架,还是使用其他一些 ORM?
database - 使用 SELECT JOIN 的 BLToolkit 复杂映射
尝试在我的项目中使用 BLToolkit 映射器。有一件事我真的不知道如何解决,问题是我有 2 个类 Content 和 Comment。
好吧,看起来就像每个人在 BLToolkit.net 上看到的示例一样简单的复杂映射。但是,我正在尝试使用 SELECT JOIN 查询。这是我的查询。
此查询返回正确的数据(使用 ExecuteReader 检查)。但是在 MapResultSets 中只有 Content 数据,没有 Comment 数据……如果我将交换 Content 和 Comment 集……我将只得到 Comment 数据,没有 Content 数据……我现在什至不关心 realtions ,我只是想向 BLToolkit 解释一下,1 行中有 2 个类的数据。
c# - BLToolkit:尝试更新实体并获得“无法转换为 SQL 错误”
我有一个更新方法:
和实体:
这是更新代码:
当我尝试更新表中的条目时,我得到“'Convert(item).Id' 无法转换为 SQL。” 错误。我试过不更新id,结果是一样的。我希望我能找到解决方案,但我不能。感谢您的回答。
c# - BLToolkit 中的字段映射到类类型属性
我的表架构(摘录)
实体类
问题?
将字段映射到我的班级是问题所在。我想直接从来自数据表(顶部)的平面结果集中映射内部类属性。
我已经MapFieldAttribute
在类级别设置设置(如上代码所示),但我的规则始终为空。假设问题的一部分是这个内部类属性必须首先实例化才能分配给,因为所有 BLToolkit 示例都使用不可为空的内部对象。但在我的情况下,我不想创建它的实例(如果它应该是) null
(大多数时候它会是null
)。
那应该怎么做呢?
stored-procedures - 支持存储过程的 BLToolkit 替代对象映射器
我不太喜欢直接实体映射器,因为我仍然认为直接在数据库上手动编写 SQL 查询是最快和最优化的(使用正确的连接、分组、索引等)。
在我当前的项目中,我决定尝试一下 BLToolkit,我对它围绕 Ado.net 的包装器和速度非常满意,因此我查询数据库并获取强类型 C# 对象。我还编写了一个生成存储过程助手的 T4,因此在调用存储过程时我不必使用魔术字符串,因此我所有的调用都使用强类型作为参数。
基本上我所有的 CRUD 调用都是通过存储过程完成的,因为我的许多查询不是简单的选择语句,尤其是我的创建和更新也返回结果,这很容易使用存储过程进行一次调用。反正...
缺点
BLToolkit 的最大缺点(我希望每个评估 BLToolkit 的人都知道这一点)不是它的功能或速度,而是它非常稀缺的文档以及支持或缺乏支持。所以这个库的最大问题是反复试验以使其正常工作。这就是为什么我也不想使用太多不同的部分,因为我使用的越多,我必须自己解决的问题就越多。
问题
我对 BLToolkit 有什么替代方案:
- 支持使用返回我提供的任何实体的存储过程,这些实体不一定与数据库表相同
- 提供从数据读取器到对象的漂亮对象映射器
- 支持关系(全部)
- 对多个结果集结果的可选(但可取)支持
- 不需要任何特殊配置(我只使用数据连接字符串,没有别的)
基本上它应该是非常轻量级的,基本上应该只有一个简单的 Ado.net 包装器和对象映射器。
最重要的要求:易于使用,得到很好的支持并且社区使用它。
entity-relationship - 在子相关实体中没有反向引用的一对多
Post
如果我在两个实体(即和)之间有一对多的关系,Comment
并且我的主类定义为:
但是我的Comment
子相关类没有 type 的属性Post
,因为永远不需要从评论到发布。评论始终与主帖子实例一起显示。
然后我有一个存储过程,它返回两个结果集:与它们相关的帖子和评论。我将我的定义MapResultSet
为
但这不起作用,因为Comment
没有对其的引用,Post
因此我没有为上层代码中的第二个参数定义任何内容。如果我提供string.Empty
或者null
如果方法参数无效,我会得到一个异常。
Post
我应该如何在不添加属性的情况下定义这两个实体之间的关系Comment
?
c# - 带有 Linq 的 BLToolkit -- 为什么需要 `using` 语句?
我考虑到 SubSonic 3 最近的(极端)性能问题,我们正在寻求迁移 ORM,最好尽可能少地重写代码(主要是 Linq)。
所以我在看BLToolkit。我看到的 SubSonic 和 BLToolkit 之间的主要区别之一是 BLToolkit 总是需要一个using
声明。例如:
这究竟是做什么的?当您创建数据库的新实例时,它是否会创建新连接?将其“包装”到静态类中以便我可以在任何地方进行操作是否合理var q=from e in Database.Employee ...
?这在 Web 应用程序的上下文中会产生什么影响?
linq - 使用 BLToolkit 和 Linq 的标量函数
我正在使用 BLToolkit 库将我的 SQL 过程转换为 Linq。
现在我遇到了一个小问题,所以如果有人知道这是否可能,我将非常感谢您的帮助。
无论如何,我有一个看起来像这样的 sql 查询(注意:这不是我的实际表名,我只是翻译了它们,所以你们可以理解发生了什么)
除了我需要在当天为每种产品征税外,这里没有什么太花哨的东西。
现在我需要将其转换为 Linq,但我不知道这是否可能。我尝试过这样的事情
它不起作用。GetWork函数本质上只是另一个返回税款的 linq 查询。我不知道如何使用 BLToolkit 库调用标量函数。
所以问题是这样的。是否可以从 Linq 选择语句中调用标量函数?
linq - BLToolkit 中的表值函数
是否可以通过使用 BLToolkit 库来使用 SQL Server 表值函数?
我想在 Linq 查询中使用它,但我在 library wiki上找不到任何关于此的内容。
sql - BLToolkit 更新加入
任何人都知道如何使用 BLToolkit 语法编写以下更新代码,其中我需要连接两个表并更新其中一个。在 SQL Server 中,这样做是这样的:
到目前为止,这就是我完成更新的方式。