问题标签 [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 回答
159 浏览

.net - 将一些表字段映射到字典中

我们有一个遗留系统,它能够向其实体添加自定义字段。准确地说,这个特性实现得很糟糕:每个实体表都扩展了字段Custom1, ... Custom 10,而且还有大表CustomFieldsEntityType, EntityID, Custom11, ... Custom99),其中EntityType是实体表的名称。

我们正在现有的坏数据库之上构建新代码,并正在寻找在实现时将所有这些 Customs 放入单个字典中的可能性。我们目前考虑的 ORM 是BLToolkitEF4(前者现在正在使用,我们计划转向后者)。

有没有可能用两者中的任何一个来实现这种映射?也许其他一些 ORM(可能,我们想要重型ORM)可能会有所帮助?或者,有另一种最佳实践吗?

0 投票
1 回答
249 浏览

asp.net - Linq 查询无法转换为 SQL:如何优化代码?

这是我工作正常的代码的快照:

这段代码工作正常,但它有点。并包含潜在的可重用逻辑。我想通过以下方式对其进行优化:

事实上,不同之处在于,我没有修改 q1 对象(查询本身),而是将新委托和在查询表达式中使用后结合起来。

当我尝试执行优化代码时,我收到一个异常:

'Invoke(value(vfm_elita.ServiceLayer.DataLogicLayer.Messages.MessagesExtension+<>c_DisplayClass21+ <>c _DisplayClass2c).qAgeFilter, q.msg)' 无法转换为 SQL。

问题:

  1. 我的代码有什么问题?

  2. 您如何建议优化源代码以提取可重用逻辑来组成“过滤器”委托?

谢谢

PS 我使用 ASP.NET 4.0、MySQL 5.0、BLToolKit 作为数据库访问引擎。

0 投票
1 回答
402 浏览

c# - Bltoolkit:如何缓存实例属性的值

使用 Bltoolkit ( http://bltoolkit.net/doc/Aspects/CacheAspect.htm )的缓存方面示例仅适用于一个实例。如果我创建另一个实例并调用缓存方法,它将返回为第一个实例缓存的值。

为了实现这个目标,我可以创建另一个方法来接收一些唯一的对象键并将“缓存”属性移动到该新方法,但这看起来有点矫枉过正:对于每个要缓存的方法,我需要创建另一个带有附加参数的实例方法。

有没有更好的方法来使用 Bltoolkit 实现缓存?我错过了什么吗?

谢谢你。

0 投票
1 回答
515 浏览

bltoolkit - BLToolkit - 它能够进行异步数据库操作吗?

我想避免通过慢速数据库读取阻塞执行线程,我非常喜欢 BLToolkit DataAccessor

是否可以对 BLToolkit DataAccessor 使用异步操作?

希望它能够返回Task<T>,我可以await从 C# 5.0 开始使用

兄弟。

0 投票
1 回答
474 浏览

asp.net-mvc - BLToolkit - 由于对象的当前状态,操作无效

我们在 ASP.NET MVC 4 应用程序中使用 BLToolkit 库。尝试执行以下 LINQ 语句时,我收到“由于对象的当前状态,操作无效”:

楷模:

df.LifeCycleYears 和 ff.ItemCount 具有 ushort 类型,因此在上面的 LINQ 语句中有一个隐式的 ushort 到十进制转换。

0 投票
1 回答
4195 浏览

oracle - 如何使用 bltoolkit 以 sysdba 身份连接到 oracle 数据库?

我可以成功连接到 oracle 普通用户,但是当我尝试连接 sys 用户时出现此错误。

因为我必须以 sysdba 身份连接,但如何在 bltoolkit 上进行连接?

如何解决这个问题?

我必须使用 bltoolkit 以 sys 用户身份连接到 oracle

我的字符串:

数据源=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_‌​DATA=(SID=prod)));User Id=sys;Password=manager;DBA Privilege= SYSDBA;数据源=oracle;

0 投票
1 回答
139 浏览

exists - 存在于 BlToolkit

是否可以通过 BlToolkit 中的 linq 编写这样的查询?

我的意思是 - 是否可以在 linq 中编写一个“Exists”构造,以便 BlToolkit 能够理解它?

谢谢

0 投票
1 回答
579 浏览

asp.net - Bltoolkit 以存储库模式管理 DbManager (ASP.Net)

我在我的 ASP.Net 应用程序中使用 bltoolkit,我使用存储库模式来管理我的数据访问层。foreach 操作我打开一个新的 DbManager 。我找不到按请求或会话打开和处置 DbManager 对象的方法。有任何想法吗

0 投票
1 回答
570 浏览

asp.net-mvc-4 - BlToolkit 在 BaseRepository 类中插入数据失败

我在 asp .Net MVC 项目中使用 BaseRepository。编辑操作有效,但在添加操作中,我应该做一个技巧让它工作。详细来说,我的基础存储库和 BaseEntity 类:

我尝试了三种添加操作的方法来使其工作。前两种方式给出了错误。

第一种方法(不起作用):

错误信息: Cannot insert explicit value for identity column in table '...' when IDENTITY_INSERT is set to OFF.

--

第二种方式(不起作用):

错误信息: Operation is not valid due to the current state of the object.

--

第三种方式(工作):

--

编辑操作没有错误,但是对于添加操作我需要做一些技巧。正常的 Add 操作有什么问题,有没有办法让它工作?

我尝试了@Mladen Macanović 的建议,并Identity在 BaseEntity 基类中向主键添加了属性,然后对于具有 int 类型主键的实体,上面显示的错误消失了

对于具有 int 类型的主键的实体,上面显示的错误消失了:

但是,这不是一个完整的解决方案,因为我的一些实体具有 Guid 类型的主键,因此向它们添加Identity属性会产生另一个错误。

InsertBatch 方法无需使用 Identity 属性即可工作。因此,您可以在不使用 Identity 列的 BaseEntity 类中的 Identity 属性的情况下添加数据。insertbatch方法有什么区别?如何在不使用InsertBatch方法的情况下解决上面显示的错误?

0 投票
1 回答
912 浏览

c# - 公共语言运行时检测到无效程序 - ILGenerator

基本上我试图将字节数组内的数据反序列化为对象。我正在尝试使用 UTF8 编码的 GetString 方法来读取字符串。这是我的代码的一部分:

我在这段代码之外检查了“getstring”的方法签名,它可以工作。我尝试删除'.boxIfAny',我也尝试使用'call'而不是'callvirt'。据我了解,“callvirt”是适用于这种情况的实例方法。有任何想法吗?