1

我正在整理一个包含大量参考数据的代码优先模型。该模型基于应用程序、服务器和构建部署。因此,有很多多对多的关系。我感到的痛苦是新记录被放置在我试图用作参考数据的实体表中。例如,我们有一个服务器列表。我只想在表中看到一个服务器 ONCE。对于引用该服务器的所有实体,我希望他们使用该行。我的 ServerRoles 和 Applications 表也是如此。这些表包含我正在播种的静态数据,应该很少更改。

我知道我可以通过查找和手动接线来解决这个问题,但我认为 EF 会理解这种情况。

4

1 回答 1

0

使用实体框架代码优先,您可以创建一个具有受保护的无参数构造函数私有集属性的不可变对象。

它肯定适用于 EF 5 Beta。

[更新]

还使用 EF 4.3.1 进行了测试,它可以工作。

public class Nation
{
    protected Nation() {}

    public Nation(Guid id, string name)
    {
        Id = id;
        Name = name;
    }

    public Guid Id { get; private set; }

    public string Name { get; private set; }
}
于 2012-06-06T19:09:42.220 回答