问题标签 [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 - 将一些表字段映射到字典中
我们有一个遗留系统,它能够向其实体添加自定义字段。准确地说,这个特性实现得很糟糕:每个实体表都扩展了字段Custom1
, ... Custom 10
,而且还有大表CustomFields
(EntityType
, EntityID
, Custom11
, ... Custom99
),其中EntityType
是实体表的名称。
我们正在现有的坏数据库之上构建新代码,并正在寻找在实现时将所有这些 Customs 放入单个字典中的可能性。我们目前考虑的 ORM 是BLToolkit和EF4(前者现在正在使用,我们计划转向后者)。
有没有可能用两者中的任何一个来实现这种映射?也许其他一些 ORM(可能,我们想要重型ORM)可能会有所帮助?或者,有另一种最佳实践吗?
asp.net - Linq 查询无法转换为 SQL:如何优化代码?
这是我工作正常的代码的快照:
这段代码工作正常,但它有点。并包含潜在的可重用逻辑。我想通过以下方式对其进行优化:
事实上,不同之处在于,我没有修改 q1 对象(查询本身),而是将新委托和在查询表达式中使用后结合起来。
当我尝试执行优化代码时,我收到一个异常:
'Invoke(value(vfm_elita.ServiceLayer.DataLogicLayer.Messages.MessagesExtension+<>c_DisplayClass21+ <>c _DisplayClass2c).qAgeFilter, q.msg)' 无法转换为 SQL。
问题:
我的代码有什么问题?
您如何建议优化源代码以提取可重用逻辑来组成“过滤器”委托?
谢谢
PS 我使用 ASP.NET 4.0、MySQL 5.0、BLToolKit 作为数据库访问引擎。
c# - Bltoolkit:如何缓存实例属性的值
使用 Bltoolkit ( http://bltoolkit.net/doc/Aspects/CacheAspect.htm )的缓存方面示例仅适用于一个实例。如果我创建另一个实例并调用缓存方法,它将返回为第一个实例缓存的值。
为了实现这个目标,我可以创建另一个方法来接收一些唯一的对象键并将“缓存”属性移动到该新方法,但这看起来有点矫枉过正:对于每个要缓存的方法,我需要创建另一个带有附加参数的实例方法。
有没有更好的方法来使用 Bltoolkit 实现缓存?我错过了什么吗?
谢谢你。
bltoolkit - BLToolkit - 它能够进行异步数据库操作吗?
我想避免通过慢速数据库读取阻塞执行线程,我非常喜欢 BLToolkit DataAccessor
是否可以对 BLToolkit DataAccessor 使用异步操作?
希望它能够返回Task<T>
,我可以await
从 C# 5.0 开始使用
兄弟。
asp.net-mvc - BLToolkit - 由于对象的当前状态,操作无效
我们在 ASP.NET MVC 4 应用程序中使用 BLToolkit 库。尝试执行以下 LINQ 语句时,我收到“由于对象的当前状态,操作无效”:
楷模:
df.LifeCycleYears 和 ff.ItemCount 具有 ushort 类型,因此在上面的 LINQ 语句中有一个隐式的 ushort 到十进制转换。
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;
exists - 存在于 BlToolkit
是否可以通过 BlToolkit 中的 linq 编写这样的查询?
我的意思是 - 是否可以在 linq 中编写一个“Exists”构造,以便 BlToolkit 能够理解它?
谢谢
asp.net - Bltoolkit 以存储库模式管理 DbManager (ASP.Net)
我在我的 ASP.Net 应用程序中使用 bltoolkit,我使用存储库模式来管理我的数据访问层。foreach 操作我打开一个新的 DbManager 。我找不到按请求或会话打开和处置 DbManager 对象的方法。有任何想法吗
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
方法的情况下解决上面显示的错误?
c# - 公共语言运行时检测到无效程序 - ILGenerator
基本上我试图将字节数组内的数据反序列化为对象。我正在尝试使用 UTF8 编码的 GetString 方法来读取字符串。这是我的代码的一部分:
我在这段代码之外检查了“getstring”的方法签名,它可以工作。我尝试删除'.boxIfAny',我也尝试使用'call'而不是'callvirt'。据我了解,“callvirt”是适用于这种情况的实例方法。有任何想法吗?