4

有没有办法使用 Entity Framework 5 映射字典?

从我在搜索时发现的情况来看,直到 EF 4.1 才支持它,不确定 EF 5 是否提供任何创新方法来轻松映射它。

我正在使用字典为类的每个对象存储“可变数量的属性”。

如果不支持,在这种情况下使用的最佳替代数据结构是什么(由 EF 支持)?

4

1 回答 1

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; }
于 2012-09-28T19:48:54.117 回答