问题标签 [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.

0 投票
1 回答
3161 浏览

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看到这一点并可以修复它。:)

0 投票
4 回答
2885 浏览

sqlbulkcopy - Fastmember 异常:指定的参数超出了有效值的范围。参数名称:名称

我一直遇到这个错误 指定的参数超出了有效值的范围。参数名称:名称

当我几乎只是在这里复制示例时https://code.google.com/p/fast-member/

错误发生在 bcp.WriteToServer(reader) 上,一直在寻找其他信息,但我仍然不知道是什么导致了问题,而且示例非常简单......而且我什至不知道名为name的参数来自哪里。

我的实际代码如下

有人可以帮忙吗?

提前致谢

0 投票
2 回答
7461 浏览

c# - 如何使用快速成员将数据批量复制到列名不一致的表中?

我有一个Person包含以下列名称的表:

身份证、姓名、出生日期

我也有一个 poco:

然后我正在尝试:

但是,由于列名Dob与属性名不匹配,DateOfBirth我得到了Index out of rangeFastMember 抛出的问题,我怎样才能解决问题而不必重命名属性或列。

请注意,我需要一个可以使用仅在运行时知道的属性和列名的答案,因为我目前正在使用 ServiceStack Ormlite 在运行时检索表元数据,并使用 FastMember 在运行时再次访问 ObjectReader。

任何帮助深表感谢。

0 投票
1 回答
4928 浏览

c# - 如何使用 FastMember 获取动态对象的属性?

我有以下对象:

我需要能够遍历属性名称"Id",例如"Name".

我还需要能够以最有效的方式实现这一点,因此我选择使用FastMember但是它的 api 不允许我遍历属性。

有任何想法吗?

[更新]

感谢 Marc,我设法实现了我想要的使用:

0 投票
2 回答
1645 浏览

c# - 使用 Fastmember 仅批量插入选定的列

我有一个应用程序用于将大量数据(每个文件最多约 250,000 条记录)从文件插入到具有多个计算列的表中。有什么方法可以选择哪些列 fastmember 插入数据,这样我就不会尝试写入计算列?

0 投票
1 回答
1049 浏览

c# - FastMember 和可为空的属性

我在使用 fastmember 时遇到问题,我的班级有一个公共可为空的属性(日期时间),但是当我尝试将其插入数据库时​​,列值是空字符串而不是 null,这会导致异常要抛出,关于如何使列值为空的任何想法?

如果releaseate为null,那么它将始终将其作为空白字符串而不是null放入表中,有没有办法强制它为null?或将空字符串解释为 sql 批量复制中的空值?

0 投票
1 回答
472 浏览

json.net - 将 JSON 反序列化为 DataTable 时遇到问题

我是 C# 新手,我正在反序列化来自 API 的 JSON 响应并将响应重新发送到 DataTable(然后再发送到 SQL Server)。

我正在使用 JSON.NET 和 RestSharp。

我按照此处概述的答案将 Json String 转换为 C# 对象列表,并尝试使用 FastMember 将对象转换为数据表,但没有成功。

这是 JSON 响应的示例:

这是我从json2csharp.com生成的类

这是我的代码:

错误:

我认为 JSON 的结构让我失望。我试图将数据类的数据类型更改为列表,但我会收到一个错误,要求我更改 JSON 或更改我将对象反序列化为的对象类型。

0 投票
1 回答
414 浏览

c# - FastMember 和 ExpandoObject 错误

我不确定它是否受支持,但我试图让 fastmember 给我动态的类型信息ExpandoObject(使用下面的代码)并且我收到错误:

System.NotSupportedException:不支持指定的方法。在 FastMember.TypeAccessor.GetMembers() 在 System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,Tret](CallSite 站点,T0 arg0)

匿名dynamic类型的第二个测试工作正常,但由于某种原因它不适用于ExpandoObject. 这应该是可能的吗?如果不是,我可以通过使用字典实现来考虑替代解决方案,ExpandoObject但对所有内容使用相同的代码会很好。

[测试是 Xunit2]

0 投票
1 回答
177 浏览

c# - 将 IBindingList 转换为 DataTable

所以我有IBindingList一个 DevExpress 图表的数据源。以这种方式完成,因为图表会随着数据的收集自动更新。

但是,与其创建一个单独的 DataTable 并在其中记录数据,我更愿意使用IBindingList并将其转换为可以将其和日志记录的结​​尾批量插入到数据库中的源。

除了 FastMember 包之外,我见过的大多数方法都是递归的,但我无法终生将 an 转换IbindingListIEnumerable.

有没有人对此有任何想法来提高上述效率?

0 投票
1 回答
970 浏览

c# - FastMember.ObjectReader 可以考虑 DisplayName 吗?

我正在使用 FastMember.ObjectReader 将结构列表复制到 DataTable,然后我将其用作 gridview 的 DataSource:

如果我选择列表本身作为数据源,则 DisplayNames 用作列标题而不是结构成员名称:

在此处输入图像描述

使用 FastMember.ObjectReader 时如何重新创建它?