Cla*_*ren 13 code-first entity-framework-4.1
我一直在玩EF4 Code First,我很喜欢它.但是,我似乎无法将这个简单的排序.
尝试创建这样的东西时,我的数据库中没有创建任何列:
public IList<String> Recievers { get; set; }
public List<String> RecieversTest { get; set; }
public virtual List<String> RecieversAnotherTest { get; set; }
public virtual ICollection<Int32> RecieversAnotherTest { get; set; }
Run Code Online (Sandbox Code Playgroud)
我试过Annotations将它映射到一个不同的列名,我尝试了IEnumerable和各种其他集合,但它拒绝为它创建一个列.
在谷歌上一个小时后,我找到了一个声称自己已经做过的人,但我开始怀疑这一点.它应该可能吗?
我真的不明白为什么它不会创建一个列并使用JSON或CSV.它不可能那么罕见,可以吗?在我的情况下,我只想存储一个电子邮件列表.
我错过了什么?该项目创建所有其他类型没有问题,我已经检查了数据库,看看我添加到测试的其他属性是如何创建的,而这些属性被忽略.
所以问题必然在于我缺少的一些设置或一些配置....在SQL Server 2008 db上的EF 4.1 RTW.
Lad*_*nka 20
我有个坏消息.EF没有做那样的事情.如果你想要任何序列化和反序列化你必须自己做=你必须使用序列化值公开和映射属性:
private IList<String> _receivers;
// This will be skipped
public IList<String> Receivers
{
get
{
return _receivers;
}
set
{
_receivers = value;
}
}
// This will be mapped
public string ReceiversSer
{
get
{
return String.Join(";", _receivers);
}
set
{
_receivers = value.Split(';').ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
现在ReceiversSer将映射到数据库中的列.