Я скачал файл ODataV4Metadata.xml
из Microsoft Dynamics 365. Этот файл содержит много тегов 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;
}
}
As I 'Работая в .NET-ядре, это кажется довольно невозможным.Мне удалось сгенерировать ОГРОМНЫЙ (100 тыс. Строк кода) файл, состоящий из всего EntityTypes
с большим количеством комментариев.Тем не менее, кажется, что я не могу сделать это в .NET-ядре, хотя я могу использовать сгенерированные классы.Вторая проблема заключается в том, что он генерирует только один файл со всеми классами в нем (и он не включает в себя все пространства имен, предварительно используя ключевое слово using
)
Существует ли какой-либо инструмент, обладающий большей гибкостью,работает в .NET-ядре и генерирует классы в отдельных файлах?Поиск в Google дает множество решений в ASP.NET и .NET v4.
При необходимости я сделаю для этого инструмент с открытым исходным кодом, но, возможно, я не посмотрел достаточно мест.
Источники, которые я проверял: