使用Linq.更新实体框架模型

本文关键字:框架 模型 实体 更新 Linq 使用 | 更新日期: 2023-09-27 17:59:20

我在更新实体框架模型中的数据时遇到问题。我在模型中有几个表(UsersUserActivityOrders)。我添加了表之间的关联,一个在UsersUserActivity之间,一个是在UsersOrders之间。关联通过列UserID。这两个关联在我的用户表中插入了两个虚拟列:

public virtual UserActivity UserActivity { get; set; }
public virtual Orders Orders { get; set; }

问题如下:当我写代码更新表用户

var context1 = new Entities1();
var chechUser = (from c in context1.Users
                 where c.Username == LabelUsername.Text
                 select c).Single();
chechUser.Name = TextBoxNewName.Text;
context1.SaveChanges();

当我尝试更新实体时,会出现以下错误:

列名"UserActivity_UserID"无效。列名"Orders_UserId"无效。描述:在执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误以及错误在代码中的来源的更多信息。异常详细信息:System.Data.SqlClient.SqlException:列名"UserActivity_UserID"无效。列名"Orders_UserId"无效。

有人能告诉我该怎么办吗?

谢谢大家的帮助。我已经通过将这两列添加到SQL数据库中解决了我的问题。现在一切正常。

使用Linq.更新实体框架模型

您需要使用以下列更新SQL server:UserActivity_UserID、Orders_UserID。

或者在代码中删除这两列(再次将DB映射到edmx文件)。