问题标签 [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 ( https://www.nuget.org/packages/FastMember/ ) 替换我的反射索引访问器,但偶然发现了以下问题。
我有以下设置:
有了这个,我得到了以下异常,就行了Console.WriteLine(d["BaseInternalName"]);
FastMember_dynamic 中出现“System.ArgumentOutOfRangeException”类型的未处理异常
内部异常为空。
根据 nuget https://www.nuget.org/packages/FastMember/应该支持访问非公共属性,因为版本 1.0.0.8:
- 1.0.0.8 - 为非公共访问器提供支持(至少我认为是这个意思)
我注意到的另一件事是,在 nuget 中,它说 1.0.0.11 是最新版本,但是下载到我的计算机上的 dllInstall-Package FastMember
版本为 1.0.0.9,可能是 marc https://stackoverflow.com/users/23354 /marc-gravell看到这一点并可以修复它。:)
sqlbulkcopy - Fastmember 异常:指定的参数超出了有效值的范围。参数名称:名称
我一直遇到这个错误 指定的参数超出了有效值的范围。参数名称:名称
当我几乎只是在这里复制示例时https://code.google.com/p/fast-member/
错误发生在 bcp.WriteToServer(reader) 上,一直在寻找其他信息,但我仍然不知道是什么导致了问题,而且示例非常简单......而且我什至不知道名为name的参数来自哪里。
我的实际代码如下
有人可以帮忙吗?
提前致谢
c# - 如何使用快速成员将数据批量复制到列名不一致的表中?
我有一个Person
包含以下列名称的表:
身份证、姓名、出生日期
我也有一个 poco:
然后我正在尝试:
但是,由于列名Dob
与属性名不匹配,DateOfBirth
我得到了Index out of range
FastMember 抛出的问题,我怎样才能解决问题而不必重命名属性或列。
请注意,我需要一个可以使用仅在运行时知道的属性和列名的答案,因为我目前正在使用 ServiceStack Ormlite 在运行时检索表元数据,并使用 FastMember 在运行时再次访问 ObjectReader。
任何帮助深表感谢。
c# - 如何使用 FastMember 获取动态对象的属性?
我有以下对象:
我需要能够遍历属性名称"Id"
,例如"Name"
.
我还需要能够以最有效的方式实现这一点,因此我选择使用FastMember但是它的 api 不允许我遍历属性。
有任何想法吗?
[更新]
感谢 Marc,我设法实现了我想要的使用:
c# - 使用 Fastmember 仅批量插入选定的列
我有一个应用程序用于将大量数据(每个文件最多约 250,000 条记录)从文件插入到具有多个计算列的表中。有什么方法可以选择哪些列 fastmember 插入数据,这样我就不会尝试写入计算列?
c# - FastMember 和可为空的属性
我在使用 fastmember 时遇到问题,我的班级有一个公共可为空的属性(日期时间),但是当我尝试将其插入数据库时,列值是空字符串而不是 null,这会导致异常要抛出,关于如何使列值为空的任何想法?
如果releaseate为null,那么它将始终将其作为空白字符串而不是null放入表中,有没有办法强制它为null?或将空字符串解释为 sql 批量复制中的空值?
json.net - 将 JSON 反序列化为 DataTable 时遇到问题
我是 C# 新手,我正在反序列化来自 API 的 JSON 响应并将响应重新发送到 DataTable(然后再发送到 SQL Server)。
我正在使用 JSON.NET 和 RestSharp。
我按照此处概述的答案将 Json String 转换为 C# 对象列表,并尝试使用 FastMember 将对象转换为数据表,但没有成功。
这是 JSON 响应的示例:
这是我的代码:
错误:
我认为 JSON 的结构让我失望。我试图将数据类的数据类型更改为列表,但我会收到一个错误,要求我更改 JSON 或更改我将对象反序列化为的对象类型。
c# - FastMember 和 ExpandoObject 错误
我不确定它是否受支持,但我试图让 fastmember 给我动态的类型信息ExpandoObject
(使用下面的代码)并且我收到错误:
System.NotSupportedException:不支持指定的方法。在 FastMember.TypeAccessor.GetMembers() 在 System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,Tret](CallSite 站点,T0 arg0)
匿名dynamic
类型的第二个测试工作正常,但由于某种原因它不适用于ExpandoObject
. 这应该是可能的吗?如果不是,我可以通过使用字典实现来考虑替代解决方案,ExpandoObject
但对所有内容使用相同的代码会很好。
[测试是 Xunit2]
c# - 将 IBindingList 转换为 DataTable
所以我有IBindingList
一个 DevExpress 图表的数据源。以这种方式完成,因为图表会随着数据的收集自动更新。
但是,与其创建一个单独的 DataTable 并在其中记录数据,我更愿意使用IBindingList
并将其转换为可以将其和日志记录的结尾批量插入到数据库中的源。
除了 FastMember 包之外,我见过的大多数方法都是递归的,但我无法终生将 an 转换IbindingList
为IEnumerable
.
有没有人对此有任何想法来提高上述效率?