我正在整理一个具有大量参考数据的代码优先模型。此模型基于应用程序,服务器和构建部署。因此,有许多关系。我感觉到的痛苦是新记录被放置在我试图用作参考数据的实体表中。例如,我们有一个服务器列表。我只想在表中看到服务器ONCE。对于引用该服务器的所有实体,我希望它们使用该行。我的ServerRoles和Applications表也是如此。这些表包含我播种的静态数据,应该很少更改。
我知道我可以通过查找和手动布线来解决这个问题,但我认为EF会理解这种情况。
答案 0 :(得分:0)
首先使用Entity Framework代码,您可以使用受保护参数的构造函数和私有集属性创建不可变对象。
它确实适用于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; }
}