CodeFluent实体将运行时设计属性添加到False

时间:2018-01-27 21:30:26

标签: json.net codefluent

现在网站blog.codefluententities.com已关闭,没有地方可以获得常见问题的答案。 甚至他们主网站上的常见问题解答和博客也很差,缺乏任何搜索工具。 在“知识中心”,您可以尝试搜索一些基本问题,但您需要使用网站在Google上自定义搜索:密钥。 我终于找到了一个关于我最后一次使用这个有前途的工具失败的线索:

https://www.softfluent.com/product/codefluent-entities/knowledge-center/json-serialization-D2715E9D140C-A6080529C80C

但关键链接指向丢失的域名,这就是结束。

我的问题解决了:

  

CodeFluent实体添加了一个TypeConverterAttribute,允许使用EntityDisplayName属性将实体转换为字符串。 Json.NET检测到此属性,并错误地使用它将实体序列化为JSON。有两种解决方案:

     

如果不通过将Add Runtime Design Attribute设置为False来使用它,请删除此属性   使用Json.NET方面在生成的类和属性上生成特定的Json.NET属性

但是没有关于如何做的信息。

正如SoftFluent所述,问题可以发布到SO添加标记,但是用户的社区对产品和开发团队知识很差@meziantou过载

我真的希望这个项目不会失败,因为这是我对隐藏源公司的最后一次赌注,并且在每次过时的免费许可互联网连接依赖续订时都会为他们的服务器关闭而祈祷。

2 个答案:

答案 0 :(得分:1)

  

CodeFluent实体添加了一个TypeConverterAttribute,允许使用EntityDisplayName属性将实体转换为字符串。 Json.NET检测到此属性,并错误地使用它将实体序列化为JSON。有两种解决方案:

     

如果不通过将Add Runtime Design Attribute设置为False

来使用它,请删除此属性

以下配置将阻止CodeFluent实体在生成的类上生成[System.ComponentModel.TypeConverterAttribute(typeof(CodeFluent.Runtime.Design.NameTypeConverter))]

<cf:producer name="Business Object Model (BOM)" typeName="CodeFluent.Producers.CodeDom.CodeDomProducer, CodeFluent.Producers.CodeDom">
    <cf:configuration addRuntimeDesignAttributes="false" ... />
</cf:producer>

您也可以使用建模器来设置此属性。

  

使用Json.NET方面在生成的类和属性上生成特定的Json.NET属性

如果需要保留TypeConverter,可以指示CodeFluent实体使用以下方面在生成的类和属性上添加自定义JSON.Net属性。代码和用法示例可在GitHub上获得:https://github.com/SoftFluent/CodeFluent-Entities/tree/master/Extensions/SoftFluent.Json.NET/

答案 1 :(得分:1)

让您更自信:是的,这个SO标签仍然在SoftFluent上受到监控。还有支持[at] softfluent.com邮箱,可以直接联系支持团队。仍然支持该产品,并在向我们报告错误时发布修订。我们正在准备一个针对.Net Standard 2.0的新版本,但仍将支持现有版本。我不能为这个新版本提供任何时间表。

相关问题