我创建了一个小型MVC应用程序。我有两张桌子:
当我试图更新电影表时:
var movie = movEntity.Movies.Single(a => a.MovieID == id);
TryUpdateModel(movie);
movEntity.SaveChanges();
return RedirectToAction("Index");
我收到一个错误:
属性'LanguageID‘是对象键信息的一部分,不能修改。
有人能帮我解决这个问题吗?
发布于 2012-02-21 00:40:20
错误表示您试图复制LanguageID
属性,这是不可能的,因为它用于标识数据库表中的行。
使用适当的视图模型可以避免此类错误。
请阅读我的博客文章:http://blog.gauffin.org/2011/07/three-reasons-to-why-you-should-use-view-models/
发布于 2012-02-21 05:13:41
正如jqauffin所说,您可以参考视频和可用的教程。对于您的问题,您正在试图覆盖"key“值,这就是错误的原因。
您可能正在执行以下任一项操作。
尝试通过" new“操作符创建所需表的新实例,然后插入。因此每一行都被视为一个新记录。
请参考此博客获取示例代码片段:http://www.asp.net/mvc/tutorials/movie-database/create-a-movie-database-application-in-15-minutes-with-asp-net-mvc-cs
快乐学习
https://stackoverflow.com/questions/9374394
复制