C# 在实体框架中显示错误的更新操作

C# 在实体框架中显示错误的更新操作,c#,linq,entity-framework,C#,Linq,Entity Framework,我试图使用实体框架更新两个表,但显示错误:“实体类型f_uuanonymoustype3`4不是当前上下文模型的一部分” v不是您的实体之一。你的意思是说进入状态 通过利用强类型集合,而不是对所有内容调用db.Entry(),可以避免将来出现此类错误: if (v != null) { t1 t = new t1 { Name = TextBox1.Text, Age = Convert.ToInt3

我试图使用实体框架更新两个表,但显示错误:“实体类型f_uuanonymoustype3`4不是当前上下文模型的一部分”


v
不是您的实体之一。你的意思是说进入状态

通过利用强类型集合,而不是对所有内容调用
db.Entry()
,可以避免将来出现此类错误:

    if (v != null)
    {
        t1 t = new t1
        {
            Name = TextBox1.Text,
            Age = Convert.ToInt32(TextBox2.Text),
            Address = TextBox3.Text,
            t2 = new t2
            {
                salary = Convert.ToInt64(TextBox4.Text)
            }
        };
        // de.Entry(t).State = System.Data.Entity.EntityState.Added;
        de.t1.Add(t);
        de.SaveChanges();
    }

我甚至尝试过de.Entry(t).State,但它显示“名称't'在当前上下文中不存在”。@user3409204:这是因为
t
是在
if
块内声明的,而您试图在该块外使用它。查看我的更新。我在代码中做了一些更改。现在我需要使用特定的列id更新数据库。但仍然显示一些error@user3409204:StackOverflow是一个问答网站。如果你有额外的困难,请花一些时间构造一个新问题来描述你的问题是什么。
    if (v != null)
    {
        t1 t = new t1
        {
            Name = TextBox1.Text,
            Age = Convert.ToInt32(TextBox2.Text),
            Address = TextBox3.Text,
            t2 = new t2
            {
                salary = Convert.ToInt64(TextBox4.Text)
            }
        };
        // de.Entry(t).State = System.Data.Entity.EntityState.Added;
        de.t1.Add(t);
        de.SaveChanges();
    }