c# - Returning enum name when returning records from a database
问题描述
I have this Enum:
public enum TravelBy
{
AirPlain = 0,
Ship=1,
Train=2,
Bicycle=3,
Car = 4,
Walk=5
}
I want to return enum names when returning a record from the database.
For example, returning record for TravelBy 5
and I need to fill the property of model by Walk
.
This is my model:
public class ListTravelRequest
{
private readonly TravelBy travelby;
private readonly SendTravelRequestStatus sendTravelRequestStatus;
public int Id { get; set; }
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Destination { get; set; }
public bool Owner { get; set; }
public bool YouSend { get; set; }
public string Resident { get; set; }
public string RequestStatus
{
get
{
return sendTravelRequestStatus.ToDisplay();
}
set
{
}
}
public string TravelBy
{
get
{
return travelby.GetEnumName();
}
set
{
}
}
public string PeriodDate
{
get
{
return EndTravel.DiffDay(StartTravel).TotalDays.ToString();
}
}
public DateTimeOffset StartTravel { get; set; }
public DateTimeOffset EndTravel { get; set; }
public decimal TravelCosts { get; set; }
}
But my problem is the following, for all records, it return first item in Enum AirPlain
but when I check it in database it 5
.
解决方案
- 使
travelby
可变(现在已标记readonly
) - 添加一个setter,如下:
set { travelby = (TravelBy)Enum.Parse(typeof(TravelBy), value); }
推荐阅读
- python - 关于tensorlfow keras学习率的查询?
- julia - 隐藏/删除实时文档按钮
- google-chrome-extension - documentUrlPatterns 不尊重路径名
- python-3.x - 类型错误:* 之后的 asyncio.runners.run() 参数必须是可迭代的,而不是协程
- python - 用 NaN 替换部分 Python 数组
- c++ - 在 c++ 中编写两个多项式的加法时,我可以在没有项和项的顺序相同时计算加法。它在差异时显示错误,为什么?
- php - 基本 PHP 上传表单问题
- r - 将 p 值添加到 ggplot;ggsignif 表示它只能处理在 x 轴上绘制的组的数据
- r - 循环两个数据帧
- keras - "errorMessage": "SavedModel 文件不存在于:/mnt/efs/packages/g3s_p2_model_dnn.h5/{saved_model.pbtxt|saved_model.pb}"