数据库有三个表:
任务表:tasks
优先级:priority
任务类型:tasktype任务表和其它两个表都有外键关系。用实体模型生成的实体类在添加任务记录的时候不知道怎么加外键对象?            Model.tasks modelTask = new Model.tasks();
            modelTask.je_content = strTaskContent;
            modelTask.je_start = dtStart;
            modelTask.je_end = dtEnd;
            modelTask.tasktype.这里写不下去了            db.SaveChanges();            frmMain.BindTaskData();
            frmMain.Refresh();

解决方案 »

  1.   

    EF吗?“ modelTask.tasktype.这里写不下去了” 是什么意思,你需要完成什么功能?另外,实体类结构你至少得让我们知道,才好分析问题。
      

  2.   

    对。EF
    modelTask就是数据库中的task表。这个表有外键引用的表tasktype.
    我在添加task记录的时候,有关系到tasktype表。
    比如sql语句:
    insert into task(je_tasktypeid,...)
    select 1,...实体是自动生成的,实体类结构具体是指什么,我是新学的的,抱歉
      

  3.   

    modelTask.tasktype.这里点不出来吗?看看你的tasktype是如何定义的。
      

  4.   

    没具体做过ef 不知道他的导航属性是否也要加载我记得ef里 有个includpath.
      

  5.   

    外键就是关系...导航属性添加实体就是insert...
      

  6.   

    搞定了            Model.tasks modelTask = new Model.tasks();
                modelTask.je_content = strTaskContent;
                modelTask.je_start = dtStart;
                modelTask.je_end = dtEnd;
                modelTask.tasktype = db.tasktype.FirstOrDefault(d => d.je_autoid == intType);
                modelTask.priority = db.priority.FirstOrDefault(d => d.je_autoid == intPriority);            db.AddTotasks(modelTask);
                db.SaveChanges();            frmMain.BindTaskData();
                frmMain.Refresh();