本帖最后由 qizbigbird 于 2012-04-01 15:12:12 编辑

解决方案 »

  1.   

    回一楼:ForeignKey内参数,小写是对应变量名已找到原因,ProjectID.ProjectID竟然对应到了ProjectsinForschung.ID,而不是,ProjectsinForschung.ProjectID,把ProjectsinForschung的主键设为ProjectID就行了。不过,有没方法直接让两个ProjectID相关联?
      

  2.   

    应该这样子吧
    public class ProjectsinForschung
        {
            [Key]
            public Guid ID { get; set; }
            [ForeignKey("project")]
            public Guid ProjectID { get; set; }
            public DateTime Date { get; set; }
            public string Comment { get; set; }        public virtual Project project { get; set; }
        }    public class Project
        {
            [Key]
            public Guid ProjectID { get; set; }
            public DateTime CreateDate { get; set; }
            public DateTime FinishDate { get; set; }
            public DateTime CutOffDate { get; set; }
            public string Comment { get; set; }        public virtual ProjectsinForschung projectinforschung { get; set; }
        }
    主外表要搞清楚,主外键要分明
      

  3.   

    我一直这样用
    例如:
    public class ProjectsinForschung
        {
            [Key]
            public Guid ID { get; set; }
           
            public Guid ProjectID { get; set; }
         
            public virtual Project project { get; set; }
        }
     
        public class Project
        {
            [Key]
            public Guid ProjectID { get; set; }
           
        }
    没错啊
      

  4.   

    应该是这样,上面有点小问题
    public class ProjectsinForschung
        {
            [Key]
            public Guid ID { get; set; }
           
            public Guid ProjectID { get; set; }//这个外键是:表名+表主键名
         
            public virtual Project project { get; set; }//这个是表
        }
     
        public class Project
        {
            [Key]
            public Guid ID { get; set; }
           
        }