日期:2014-05-20  浏览次数:20709 次

请教entity framework的问题
初学Entity Framework,请教一下,
code first中,一个实体类如果里面包含了外键关系
通常设计这个的类话,除了一个virtual的类属性,还需要加上外键ID吗
比如

public class Student
{
    public Int32 Id {get;set;}
    public virtual Class Class {get;set;}
    public Int32 ClassId {get;set;}
}

这个ClassId有必要吗,我知道生成数据库以后,如果没有ClassId,框架也会自动加入一个名叫Class_Id的字段来表示外键关系。
如果有ClassId,这样在其他地方给ClassId赋值的时候,会同时给那个Class属性也赋上吗,
反之如果给Class属性赋值,那么ClassId会自动赋值吗
如果在Class属性之前加上[ForeignKey("ClassId")]呢

请教一下,一般在什么情况下,这个外键ID才需要明确指定,指不指定到底什么区别呢
Entity?Framework

------解决方案--------------------
ClassId?是需要的
------解决方案--------------------
似乎不需要。

看我很久以前写的:
http://bbs.csdn.net/topics/360154255

难道现在需要了?Codefirst用的少,记不得。你可以试验下。