问题标签 [fastmember]
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.
c# - 来自 ConcurrentDictionary 的 sqlbulkcopy
我有一个 ConcurrentDictionary 并且我正在尝试按照 marc 的这个示例使用 fastmember但我所拥有的只是一个 Guid 数组而不是具有属性的复杂类型。
所以当我使用
我收到“指定的参数超出了有效值的范围”,我猜它正在寻找将其映射到表中列的属性,但我没有任何属性,因为它是一个简单的 Guid 数组。
c# - FastMember ObjectReader 返回 0 个结果
我正在使用 FastMember 库将对象列表转换为数据表,但它返回空对象,所以任何人都可以帮我解决这个问题
c# - 如何使用 FastMember 设置嵌套属性值
当我尝试使用 FastMember 设置嵌套成员属性时出现异常。例如,当有这些课程时
我想将First.Second
一个实例设置为"hello"
.
我无法将其拆分为 ["First"]["Second"],因为此时我不知道深度。嵌套属性是否有神奇的访问权限,还是我必须自己拆分层次结构?
c# - 为 Nullable 赋值使用 FastMember
我已经使用这个函数成功地为属性和嵌套属性赋值
但是,分配会引发 InvalidCastException。如何使用 FastMember 分配可为空的值?例如
c# - FastMember 列顺序保存
使用 TypeAccessor.Create FastMember 时,似乎总是返回按字母排序的列列表。是否可以告诉它保留类中列的顺序?
例如:
将从GetMembers返回A列然后B,如果可能的话,我想让它保留B然后A的顺序。
c# - FastMember ObjectReader 不适用于继承的接口
我从一个我无法控制的库中得到一个接口作为返回:
现在,当我尝试运行此代码时,出现异常:
似乎它没有找到该B
属性,因为它是在 IB 中声明的。我通过进行测试并IA
直接让 B 确认了这一点。
我发现了一个非常糟糕的解决方法,它涉及创建一个实现 IA 的新类:
然后将其转换List<IA>
为:List<Ab> newList = l.Select(e => new Ab(e.A, e.B).ToList()
,然后ObjectReader.Create(newList)
. B
当我这样做时,ObjectReader 似乎找到了该属性。但这似乎非常浪费资源(和大量代码)来创建具有完全相同内容的中间对象。
是否有可能以不涉及创建新对象的另一种方式解决?
c# - 如何通过 FastMember 自动将枚举转换为 int?
我正在使用FastMember
将 a 转换List<T>
为Datatable
. 某些类包含枚举,当将数据表作为 TVP 传递给存储过程时,这会导致问题。
FastMember
转换列表,但是枚举的列DataType
具有SomeEnum
. 将数据表作为 TVP 传递时,会引发以下异常:
抛出异常:Dapper.dll 中的“System.ArgumentException”
附加信息:不支持列“SomeEnum”的类型。类型是“SomeEnum”
有没有办法强制FastMember
将枚举转换为 int?
c# - 我可以使用表达式设置结构的属性吗?
我有以下方法,它在给定PropertyInfo
上设置给定的值TInstance
。这是为了避免反射效率低下。
所以给定以下模型:
我可以设置Name
使用:
这一切都很好,但是如果我尝试使用struct
例如的方法:
名字永远是null
。我怀疑拳击/拆箱以某种方式咬我。
事实上,如果我在使用FastMember
时使用相同的行为表现:
但是,当我将person
as装箱时,object
便FastMember
能够正确设置该值:
有什么想法可以在CreateSetter
for whenTInstance
是值类型时处理这个拳击吗?
c# - 尝试将 .NET 字符串 [] 映射到 FastMember 对象,但它出错/未映射
我正在尝试将文件名列表插入到一个简单的 Sql Server 表中。
正如其他 SO 答案所建议的那样,我正在尝试利用 SqlBulkCopy 和@markgravell 的 FastMember库。
所以我觉得这是一个映射问题:
- FastMember 无法映射到某些内部支持集合
- FastMember 后备集合与 DB 列的名称不同,因此无法映射。
sqlbulkcopy - 带有 ObjectReader 的 SqlBulkCopy - 无法将参数值从字符串转换为 Int32
我正在使用 SqlBulkCopy (.NET) 和 ObjectReader (FastMember) 从基于 XML 的文件中执行导入。我添加了正确的列映射。
在某些情况下,我收到一个错误:无法将参数值从字符串转换为 Int32。
我想了解如何 1. 跟踪失败的实际表列 2. 在 ObjectReader 上获取“当前”
示例代码:
“前”是否携带更多信息,然后只是错误:
System.InvalidOperationException : The given value of type String from the data source cannot be converted to type int of the specified target column.