鉴于以下简单场景,保持原始简单集合的最佳/简单方法是什么?
public class Subscriber
{
public int Id { get; set; }
public string Email { get; set; }
public ICollection<int> SubscribedNodeIds { get; set; }
}
如果我执行上面的例子,则忽略SubscribedNodeIds列。
答案 0 :(得分:0)
显而易见的答案是建立这样的关系:
public class Subscriber
{
public int Id { get; set; }
public string Email { get; set; }
public ICollection<Subscription> Subscriptions { get; set; }
}
public class Subscription
{
public int Id { get; set; }
public int NodeId { get; set; }
public Subscriber Subscriber { get; set; }
}
答案 1 :(得分:0)
创建新的实体和关系是一项艰巨的工作。相反,我们可以执行以下简单的2个步骤
用[NotMapped]注释收集字段,以便不将其添加到数据库中
添加一个字符串属性,并使用Json序列化程序将原始集合转换为字符串。
下面给出了代码
public class Subscriber
{
public int Id { get; set; }
public string Email { get; set; }
[NotMapped]`enter code here`
public ICollection<int> SubscribedNodeIds { get; set; }
public string SubscribedNodeIdsString
{
get => JsonConvert.SerializeObject(SubscribedNodeIds);
set
{
if (value != null)
{
SubscribedNodeIds = JsonConvert.DeserializeObject<List<Int>>(value);
}
}
}
}