我有这个模型类:
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using Ucdp.Common.Enums.Vendor;
namespace Ucdp.Common.Industry
{
public class VendorBasicDetailsByChannelModel
{
public Guid Id { get; set; }
public string Name { get; set; }
public VendorMode VendorMode { get; set; }
}
}
在模型中,一个字段(VendorMode
)具有ENUM模型(VendorMode
)。
enum模型有4个enum类型
using System;
using System.Collections.Generic;
using System.Text;
namespace Ucdp.Common.Enums.Vendor
{
public enum VendorMode
{
Shopping = 1,
Discovery = 2,
ShoppingAndDiscovery = 3
}
}
and this is vendor.proto file
syntax = "proto3";
option csharp_namespace = "IndustryAPI.Protos";
import "google/protobuf/wrappers.proto";
message ListOfStrings {
repeated string strings = 1;
}
enum VendorMode {
VendorMode_UNSPECIFIED = 0;
Shopping = 1;
Discovery = 2;
ShoppingAndDiscovery = 3;
}
message VendorModel {
string Id = 1;
string Name = 2;
VendorMode VendorMode = 3;
}
service VendorService {
rpc GetVendorBasicDetails(GetVendorBasicDetailsRequest) returns (GetVendorBasicDetailsResponse);
}
// requests
message GetVendorBasicDetailsRequest {
string channelId = 1;
string VendorCreatedDateStart = 2;
string VendorCreatedDateEnd = 3;
}
message GetVendorBasicDetailsResponse {
repeated VendorModel Vendor = 1;
}
I want to map each field with message
var Vendor = new VendorModel
{
Id = vendor.Id.ToString(),
Name = vendor.Name,
VendorMode = vendor.VendorMode
};
如何Map枚举?
1条答案
按热度按时间3qpi33ja1#
首先安装nuget包AutoMapper
然后安装其依赖项AutoMapper Dependency
并在程序类中添加此依赖:
最后,在ProtoBuff服务中使用***IMapper依赖项***就足够了