Entity framework 更新项目和更改外键

Entity framework 更新项目和更改外键,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,有主题和类别表格 在主题表中,我有一个类别ID列,它是类别表的外键 当我尝试使用此处显示的代码更新主题时,什么都没有发生: Subject subject; using (var ctx = new SubjectEntities()) { subject = ctx.Subjects.Where(s => s.CategoryId == kategorijaId).FirstOrDefault<Subject>(); if (subject != null

主题
类别
表格

主题
表中,我有一个
类别ID
列,它是
类别
表的外键

当我尝试使用此处显示的代码更新主题时,什么都没有发生:

Subject subject;

using (var ctx = new SubjectEntities())
{
    subject = ctx.Subjects.Where(s => s.CategoryId == kategorijaId).FirstOrDefault<Subject>();

    if (subject != null)
    { 
        subject.CategoryId = kategorijaId;
        subject.FullName = ime;
        subject.WebSite = web;
        subject.PhoneNumber = tel;
        subject.E_MAIL = mejl;
    }

    ctx.SaveChanges();
}
主题;
使用(var ctx=new SubjectEntities())
{
subject=ctx.Subjects.Where(s=>s.CategoryId==kategorijaId.FirstOrDefault();
if(主题!=null)
{ 
subject.CategoryId=kategorijaId;
subject.FullName=ime;
subject.WebSite=web;
subject.PhoneNumber=tel;
subject.E_MAIL=mejl;
}
ctx.SaveChanges();
}
要帮忙吗


谢谢大家!

尝试添加
context.Entry(subject.State=EntityState.Modified保存更改之前。

它会更新除categoryId之外的所有内容。CategoryId是类别表的外键。