我在实体框架模型中更新数据时遇到问题。我在模型中有几个表(Users
,UserActivity
和Orders
)。我在表格之间添加了关联,一个在Users
和UserActivity
之间,另一个在Users
和Orders
之间。这些关联是通过UserID
列。这两个关联已经在我的Users表中插入了两个虚拟列:
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 DB来解决了我的问题。现在它工作正常。
答案 0 :(得分:1)
您需要使用以下列更新SQL Server:UserActivity_UserID,Orders_UserId。
或者在代码中删除这两列(将数据库再次映射到edmx文件)。
答案 1 :(得分:0)
我认为您的列名在应用程序端和数据库端有所不同。因此,从任何一个结束时将它们改为相同。