Utilities of Source Generators for ODataHttpClient
> dotnet add package ODataHttpClient
You add AdditionalFiles
into your csproj and including metdata xml file.
<Project Sdk="Microsoft.NET.Sdk">
...
<ItemGroup>
<AdditionalFiles Include="data\ODataDemo.metadata.xml" />
</ItemGroup>
...
</Project>
You add Pick
attribute. The target class must be partial class
.
namespace Your.Project.Namespace;
[Pick<ODataDemo.Product>("ID","Name")]
public partial class ProductSummary {}
Then you can get a auto-generated file like as following.
// <auto-generated/>
#pragma warning disable CS8600
#pragma warning disable CS8601
#pragma warning disable CS8602
#pragma warning disable CS8603
#pragma warning disable CS8604
using System.Linq;
namespace Your.Project.Namespace;
public partial class ProductSummary
{
public int ID { get; set; }
public string? Name { get; set; }
public void Assign(ODataDemo.Product src)
{
this.ID = src.ID;
this.Name = src.Name;
}
public static ProductSummary Create(ODataDemo.Product src)
{
var obj = new ProductSummary();
obj.Assign(src);
return obj;
}
}