外键丢失 - 实体框架代码优先

时间:2016-01-24 05:16:16

标签: entity-framework

我正在使用Entity框架代码第一个框架。我正在创建外键。但是当我从表中访问数据时,我只是没有外键信息的表信息。

public class X : EntityData {
    public int a;
    public int b;
    public ICollection<Y> YID { get; set; } //This will create a foreign key of X_ID in Y table
}

public class Y : EntityData {
    public int c;
    public int d;
}

现在,如果我尝试从前端访问Y表,它不会返回我的外键是X_ID。但它正在返回c和d。在sql表中,我可以看到Y表中的X_ID为外键。请告诉我从服务器和客户端获取外键表信息的最佳方法。 但帮助链接
http://myapp.azure-mobile.net/help/Api/GET-tables-Y显示表的外键详细信息,但实际服务不返回外键详细信息,甚至不返回外键ID。
提前致谢。

1 个答案:

答案 0 :(得分:1)

您必须在此类Y类中定义外键关系(并且您可能希望在X类中拥有主键):

public class X : EntityData {
    [Key]
    public int a { get; set; }
    public int b { get; set; }
    public ICollection<Y> YID { get; set; } //This will create a foreign key of X_ID in Y table
}

public class Y : EntityData {
    public int c { get; set; }
    public int d { get; set; }

    public int XId { get; set; }
    [ForeignKey("XId")]
    public virtual X XReference { get; set; }
}