【发布时间】:2018-12-05 21:17:37
【问题描述】:
我从 Microsoft Dynamics 365 下载了文件 ODataV4Metadata.xml。该文件包含许多描述类的 EntityType 标记。作为参考,它(部分)是这样的:
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Microsoft.Dynamics.CRM" Alias="mscrm">
<EntityType Name="crmbaseentity" Abstract="true" />
<EntityType Name="accountleads" BaseType="mscrm.crmbaseentity">
<Key>
<PropertyRef Name="accountleadid" />
</Key>
<Property Name="accountleadid" Type="Edm.Guid" />
<Property Name="overriddencreatedon" Type="Edm.DateTimeOffset" />
<Property Name="timezoneruleversionnumber" Type="Edm.Int32" />
<Property Name="importsequencenumber" Type="Edm.Int32" />
...etc
例如,这应该生成一个名为Accountleads 的类,其属性类似于
[DataMember(Name = "overriddencreatedon")]
public System.DateTimeOffset? Overriddencreatedon
{
get
{
return this._Overriddencreatedon;
}
set
{
this._Overriddencreatedon = value;
}
}
当我在 .NET-core 中工作时,这似乎是不可能的。我能够生成一个包含大量 cmets 的所有 EntityTypes 的巨大(100k 行代码)文件。但是,似乎我无法在 .NET-core 中执行此操作,尽管我能够使用生成的类。
第二个问题是,它只生成一个文件,其中包含所有类(并且它没有预先使用 using 关键字包含所有命名空间)
是否有任何工具具有更大的灵活性,可以在 .NET-core 中工作并在单独的文件中生成类?谷歌搜索它在 ASP.NET 和 .NET v4 中提供了许多解决方案。
如有必要,我将制作一个开源工具来执行此操作,但可能我还没有研究足够多的地方。
我检查的来源:
【问题讨论】:
标签: c# .net-core odata dynamics-crm