私はアトミッククラスを持っています。私は、曜日と偽の値をフラグとして使用しています。エンティティデータベースストレージのシリアライズクラス
public class DaysOfWeek
{
public bool Sunday { get; set; }
public bool Monday { get; set; }
public bool Tuesday { get; set; }
public bool Wednesday { get; set; }
public bool Thursday { get; set; }
public bool Friday { get; set; }
public bool Saturday { get; set; }
public bool this[string day]
{
get
{
return (bool)GetType().GetProperty(day).GetValue(this, null);
}
set
{
GetType().GetProperty(day).SetValue(this, value);
}
}
}
これは、Entityを単一の列として使用して保存したいと考えています。
public class SSRS_Subscription
{
[Key]
public Guid id { get; set; }
public DateTime StartDate { get; set; }
public DateTime? EndDate { get; set; }
public Recurrence RecurrencePattern { get; set; }
public DateTime StartTime { get; set; }
public int? MinuteInterval { get; set; }
public int? DaysInterval { get; set; }
public int? WeeksInterval { get; set; }
[NotMapped]
public DaysOfWeek DaysOfWeek
{
get
{
return SerializeHelper.DeserializeJson<DaysOfWeek>(internalDaysOfWeek);
}
set
{
internalDaysOfWeek = SerializeHelper.SerializeJson(value);
}
}
[EditorBrowsable(EditorBrowsableState.Never)]
[Column("DaysOfWeek")]
public string internalDaysOfWeek { get; set; }
public SSRS_Subscription()
{
DaysOfWeek = new DaysOfWeek();
}
}
ここでの問題は、私はDaysOfWeekプロパティにアクセスするとき、私は値を設定することができないということです。私はこのようになりますPOCOを持っています。私は私が必要なものと考えてい
var testSub = new SSRS_Subscription();
testSub.DaysOfWeek.Friday = true;
// testSub.DaysOfWeek.Friday stays false (the default value)
// However doing this sets the correct value...
var tmpDaysOfWeek = testSub.DaysOfWeek;
tmpDaysOfWeek.Friday = true;
testSub.DaysOfWeek = tmpDaysOfWeek;
はのObservableCollectionイベントですが、例のために検索した後、私はそれを実装する方法を正確にはわかりません。エンティティPOCO SSRS_Subscriptionを変更して追加しますか?どのようにこれをより良くするためのヒントやヒントをいただければ幸いです。