Entity framework 4 实体框架:映射没有导航属性的外键?

Entity framework 4 实体框架:映射没有导航属性的外键?,entity-framework-4,foreign-keys,Entity Framework 4,Foreign Keys,动机:我的EF4.1 DbContext正在以错误的顺序保存实体 原因:我的模型上缺少导航属性 我想如何修复它: 我想在DbContext中设置外键关系。问题是我的实体对象没有导航属性(我使用它来填充web服务,然后将DTO对象发送到我的应用程序) 下面的课程就是一个例子。在MinorClass中,我想配置我的上下文,以便它知道MajorClassID是外键。我在互联网上找到的关于如何明确定义外键的文章涉及使用导航属性,而我的对象没有导航属性 有没有办法描绘这种关系 public class M

动机:我的EF4.1 DbContext正在以错误的顺序保存实体

原因:我的模型上缺少导航属性

我想如何修复它:

我想在DbContext中设置外键关系。问题是我的实体对象没有导航属性(我使用它来填充web服务,然后将DTO对象发送到我的应用程序)

下面的课程就是一个例子。在MinorClass中,我想配置我的上下文,以便它知道MajorClassID是外键。我在互联网上找到的关于如何明确定义外键的文章涉及使用导航属性,而我的对象没有导航属性

有没有办法描绘这种关系

public class MinorClass
{
    public Guid ID {get;set:}
    public Guid MajorClassID {get;set;} // foreign key
    public string Name {get;set;}
}

public class MajorClass
{
    public Guid ID {get;set;}
    public string Name {get;set;}
}

导航属性是主构造,而外键是帮助器(imho错误的帮助器)。EF通过导航属性定义的关系识别DB命令的顺序。不能仅通过外键定义关系。在关系的至少一个方面,你需要导航属性。

难道你不能把<代码> MaRoReCudie<代码>简单地看作标量属性(比如<代码>名称<代码>)吗?如果没有导航属性,ORM的“O”端基本上没有任何关系。这个问题背后的问题是EF以错误的顺序保存项目,因为它不知道这些关系。我真正想做的就是告诉EF保存项目的顺序。