问题标签 [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# - 检查属性是否为只读
我有这段代码使用反射,我决定用 FastMember 替换它。
这是我的代码:
通过反射:
带有星星的那一行将通过这一行来解决:
FastMember 是否也提供了一些优雅的解决方案?
c# - C# Dapper 和 FastMember - 不支持指定的方法
我有一个 C# .NET Core 2.0 Web API 项目(作为微服务实现)。
我在我的存储库层中使用 NuGet 包“Dapper”和“FastMember”(最新版本)来尝试IEnumerable<T>
通过 FastMember 提供的 ObjectReader 将 an 转换为 DataTable,这样我就可以利用 Dapper 的内置 ICustomQueryParameter SqlMapper 来传递我在 SQL Server 中使用的存储过程的表值参数。
当我执行和调试我的代码时,它会在 FastMember ObjectReader 尝试加载到 DataTable: 的行上引发异常table.Load(reader);
。
这是我的 Dapper 包装器/扩展方法,其中包含有问题的行:
这是我使用上述扩展方法的 Dapper 调用:
这是我抛出的 C# 异常的堆栈跟踪:
异常消息是:Specified method is not supported.
有人可以帮我解决这个错误吗?.NET Core 2.0 不支持这种方法对我来说没有意义。我已经通过 SqlBulkCopy 在其他 .NET Core 2.0 应用程序中成功使用了 FastMember。但这是我第一次尝试将它与 Dapper 一起使用。
任何帮助深表感谢!提前致谢。
c# - 如何使用 FastMember 创建具有子对象的对象的读取器
我们需要SQLBulkCopy
一个我们拥有的集合。由于我们需要一个 IDataReader 来使用 SQLBulkCopy,因此我尝试使用 FastMember。据我了解,我们可以使用从 IEnumerableFastMember
创建一个。IDataReader
所以我的代码是——
但问题是每条记录都有一个名为的子对象,其中包含我希望在数据读取器中拥有的更多属性,以便它们可以插入到数据库中的表中。但是找不到办法弄平IDataReader
c# - 参数超出范围异常,参数名称:名称
每次尝试使用不同的行执行以下代码;得到同样的例外:
并得到这个例外:
请帮助我解决这个问题。
c# - 加入表时丢弃“匿名”异常
我很困惑,例如如何在不出现“匿名”异常的情况下加入两个表;例如以下代码部分:
执行上述代码后,我得到这个异常:
c# - FastMember:指定的参数超出了有效值的范围。参数名称:名称
我正在尝试使用CsvHelper导入 CSV 文件并将其写入我的 SQL 数据库。导入的数据不属于任何预定义的类,必须在运行时确定。很多论坛都指向使用 FastMember 来执行此操作,但我无法使其工作。
由于我没有预定义的类,因此我正在使用以下代码读取 CSV:
然后我使用 fastmember 的 ObjectReader 来构造数据
在这个阶段,我收到错误“指定的参数超出了有效值的范围。参数名称:名称”
我将在下面包含整个代码片段,但 copyParameters 是一个字符串数组,其中包含与 CSV 中完全相同的所有列。
用于测试的小样本 CSV:
DateTime,Column1,Column2,Column3,Column4 1/8/2014 18:20,1,0,0.3,0 1/8/2014 18:21,1,0,0.3,0 1/8/2014 18:22, 1,0,0.2,0 1/8/2014 18:23,1,0,0.2,0 1/8/2014 18:24,1,0,0.2,0 1/8/2014 18:25,1, 0,0.2,0
这是完整的代码:
c# - 有没有办法在扩展/动态上使用 FastMember ObjectReader
有没有办法ObjectReader.Create
在ExpandoObject
.
这是我用来测试的一个简单的测试用例:
看来问题出GetMembers
在TypeAccessor
. 由于ExpandoObject
继承自IDictionary<string, object>
,因此该类型没有属性,并且 FastMember 无法序列化字典的每个键。是否有解决方法来实现它?
基本上,我执行翻译成expandos的SQL查询。我想用来ObjectReader
将结果批量备份到数据库中。
c# - 使用 FastMember 从集合中获取值
我使用 FastMember 从对象和嵌套对象中获取值。如果属性是 astring
或int
一切正常。但现在我也想获取集合的值。到目前为止,这是我的代码:
一个对象可能如下所示:
这意味着专业会导致问题。
任何建议我如何解决这个问题?谢谢!
c# - 使用 FastMember 递归复制属性
我有这个类的两个对象:
现在我想用 FastMember 遍历两个对象实例的所有属性,并将属性从 复制object 1
到object 2
.
这是我到目前为止得到的(不工作!)
这段代码显然不起作用......有什么想法吗?谢谢!
c# - DataTable.Load() 将枚举转换为整数
我SqlBulkCopy
用来将一些数据插入到表中。我的数据对象有一个枚举属性。我想将其保存为值 (G),而不是 int (1)。
在我调用dataTable.Load()
时,属性从“G”变为 1。显然这就是发生的情况?
https://github.com/npgsql/npgsql/issues/1220
有办法解决吗?我最初认为这可能是 FastMember (Marc Gravell) 的问题ObjectReader
,但reader
仍然具有“G”的值,所以这就是DataTable
问题.Load()
所在。
如何将枚举保存为字符串而不是 int?
我可以尝试一些后备选项:
- 不使用
SqlBulkCopy
- 创建一个新类并将原始类映射到它,其中新类具有作为字符串的枚举属性。然后用新的类保存?
这是枚举:
这是我要保存的对象的属性: