有没有办法使用Entity Framework 5映射字典?
根据我在搜索时发现的情况,直到EF 4.1才支持它,不确定EF 5是否提供了任何创新的方法来轻松映射。
我正在使用字典为类的每个对象存储“可变数量的属性”。
如果不支持在这种情况下使用的最佳替代数据结构(由EF支持)?
答案 0 :(得分:6)
仍然不支持字典。您必须使用传统的一对多关系。字典中的每个当前键/值对将作为记录存储在表中,并与主键实体(包含字典的实体)相关。该实体应如下所示:
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; }