Kev*_*evB 11 ef-code-first entity-framework-4.1
我正在使用实体框架代码优先,我有一个实体定义了StartTime属性,EndTime属性和Duration属性(以及其他一些).该Duration属性是计算字段,它是开始和结束时间之间的持续时间(以分钟为单位).我的财产声明如下:
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int Duration
{
get
{
return (int)this.EndTime.Subtract(this.StartTime).TotalMinutes;
}
}
Run Code Online (Sandbox Code Playgroud)
我想在代码中运行这个计算,但是持续时间值会持久保存到数据库以及开始和结束时间值(以便在我根据这些数字运行报告时更容易在线下进行).
我的问题是,如何让这个只读属性映射回来并首先使用代码保存到数据库?
Kev*_*evB 19
受Slauma的回答启发,我能够通过使用受保护的setter来实现我的目标.这会将值保留回数据库,但不允许在其他位置修改该值.
我的房产现在看起来像这样:
public int Duration
{
get
{
return (int)this.EndTime.Subtract(this.StartTime).TotalMinutes;
}
protected set {}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7097 次 |
| 最近记录: |