Я пытаюсь обновить две таблицы, используя сущность framework, но показывая ошибку: "Тип объекта <> f__AnonymousType3'4 не является частью модели для текущего контекста".
protected void Button3_Click(object sender, EventArgs e)
{
var obj = Convert.ToInt32(TextBox5.Text);
var v = (from m in de.t1
join n in de.t2
on m.Id equals n.id
where m.Id == obj
select new { m.Name,m.Age,m.Address,n.salary}).FirstOrDefault();
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(v).State = System.Data.Entity.EntityState.Modified;
de.SaveChanges();
}
}
v
не является одним из ваших сущностей. Возможно, вы de.Entry(t).State
виду de.Entry(t).State
?
Вы можете избежать такой ошибки в будущем, воспользовавшись сильно типизированными коллекциями, а не 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();
}
t
был объявлен внутри вашего блокаif
, и вы пытались использовать его вне этого блока. Смотрите мое обновление.