有没有办法使用Entity Framework 5映射字典?
根据我的搜索结果,直到EF 4.1版本,它还没有支持映射字典,不确定EF 5是否提供了任何创新方法来轻松映射它。
我正在使用字典来为类的每个对象存储“可变数量的属性”。
如果不支持,那么在这种情况下应该使用什么最佳替代数据结构(受EF支持)?
有没有办法使用Entity Framework 5映射字典?
根据我的搜索结果,直到EF 4.1版本,它还没有支持映射字典,不确定EF 5是否提供了任何创新方法来轻松映射它。
我正在使用字典来为类的每个对象存储“可变数量的属性”。
如果不支持,那么在这种情况下应该使用什么最佳替代数据结构(受EF支持)?
目前不支持字典类型。您必须使用传统的一对多关系,将字典中的每个键/值对作为记录存储在表格中,并与外键关联到主实体(包含字典的实体)。实体应如下所示:
public class Item {
public int Id { get; set; } // unique autogenerated database key
public string Key { get; set; }
public string Value { get; set; }
public int PrincipalId { get; set; } // FK to principal entity
}
对于您当前的情况,属性类型和外键名称将有所不同。主实体只需具有:
public virtual ICollection<Item> Items { get; set; }