利用果园CMS,我处理的记录和部分代理,但无法弄清楚如何将它保存到数据库中。 事实上,我承认,我甚至不知道如何让我想保存到这种模式的项目。 我本来用enum
的用于选择:
MyEmum.cs
:
public enum Choices { Choice1, Choice2, Choice3, Choice4 }
MyRecord.cs
:
public virtual string MyProperty { get; set; }
MyPart.cs
:
public IEnumerable<string> MyProperty
{
get
{
if (String.IsNullOrWhiteSpace(Record.MyProperty)) return new string[] { };
return Record
.MyProperty
.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries)
.Select(r => r.Trim())
.Where(r => !String.IsNullOrEmpty(r));
}
set { Record.MyProperty = value == null ? null : String.Join(",", value); }
}
现在,在我的服务类,我想是这样的:
public MyPart Create(MyPartRecord record)
{
MyPart part = Services.ContentManager.Create<MyPart>("My");
...
part.MyProperty = record.MyProperty; //getting error here
...
return part;
}
不过,我收到以下错误: Cannot implicitly convert 'string' to System.Collections.Generic.IEnumerable<string>'
从本质上讲,我试图从一个CheckBoxList的(一个或多个选择)作为一个数据库中的逗号分隔的列表保存的选择。
而这还不让我过去的我该如何使用的问题enum
。 有什么想法吗?
对于一些背景:
我明白,要处理这种关系的适当方法是创建一个单独的表和使用IList<MyEnum>
然而,这是我不打算与编辑操作(事实上,没有司机在这种情况下作为我处理这个问题的前端与控制器和路线)一个简单的列表。 我只是捕捉数据和统计/历史目的的管理视图重新显示它。 我甚至可以考虑摆脱部分(考虑以下职位: 贝特朗的博客文章 。