コードに 3 番目の側面を導入したため、値の取得と設定に問題があります。
以前は、レコードを取得/設定するためにこれを行っていました:
public virtual string MyString { get; set;}
そして、私の部分では:
public string MyString
{
get { return Record.MyString; }
set { Record.MyString = value; }
}
NHibernate は私の値を DB に保存します (明らかに、簡潔にするために、私の他のコードはここには示していません)。
今、リストでチェックボックスを実行しようとしています。私はチェックボックスのためにこれを持っています:
public class MyPart : ContentPart<MyPartRecord>
{
public MyPart()
{
MyList = Enum.GetValues(typeof(MyEnum))
.Cast<MyEnum>().Select(x =>
{
return new SelectListItem { Text = x.ToString().ToUpper(),
Value = ((int)x).ToString() };
}).ToList();
}
public IList<SelectListItem> MyList { get; set; }
private string myCheckBox;
// Record class contains the following commented code:
// public virtual string MyCheckBox { get; set;}
// Trying to do this now here in MyPart class:
public string MyCheckBox
{
get
{
if (!string.IsNullOrEmpty(myCheckBox))
return myCheckBox;
// Tried the following commented code to get value:
// Record.MyCheckBox = myCheckBox;
return string.Join(",", MyList.Where(x => x.Selected)
.Select(x => x.Value).ToArray());
}
set
{
myCheckBox = value;
// Tried the following commented code to set value:
// Record.MyCheckBox = myCheckBox;
}
}
}
この場合に値を割り当てる方法がわかりません(取得/設定myCheckBox
しMyCheckBox
ます。DBにnullとして保存されています。
助けてくれてありがとう。