Entity framework 实体框架4.1对象名称无效
我在实体框架中遇到了以下错误,我一辈子都搞不清是什么导致了它 无效的对象名称“dbo.User” 数据库中的实际表名称为Users,我通过右键单击并选择“updatemodelfromdatabase”将其添加到我的实体模型中。我的项目中还有大约六个其他模型,它们都连接到同一个数据库,具有多表名,并且以完全相同的方式更新,没有任何问题。似乎出于某种原因,EF在尝试执行更新时会从我的表名中删除“s”。正如您可以从下面的代码中看到的,我在更新之前执行了一个选择,这个选择没有问题 我还尝试过删除实体,并取消选中“复数化或单数化生成的对象名称”来重新创建它。然而,问题依然存在 如果您有任何想法,我们将不胜感激Entity framework 实体框架4.1对象名称无效,entity-framework,entity-framework-4,Entity Framework,Entity Framework 4,我在实体框架中遇到了以下错误,我一辈子都搞不清是什么导致了它 无效的对象名称“dbo.User” 数据库中的实际表名称为Users,我通过右键单击并选择“updatemodelfromdatabase”将其添加到我的实体模型中。我的项目中还有大约六个其他模型,它们都连接到同一个数据库,具有多表名,并且以完全相同的方式更新,没有任何问题。似乎出于某种原因,EF在尝试执行更新时会从我的表名中删除“s”。正如您可以从下面的代码中看到的,我在更新之前执行了一个选择,这个选择没有问题 我还尝试过删除实体,
public void Update(User updatedUser)
{
using (var context = CreateUserContext())
{
var entity = context.UserEntities
.Where(u => u.UserId == updatedUser.UserId)
.SingleOrDefault();
if (entity != null)
{
entity.Name = updatedUser.Name;
entity.Description = updatedUser.Description;
entity.LastModifiedById = updatedUser.LastModifiedById;
entity.IsDeleted = updatedUser.IsDeleted;
context.UserEntities.ApplyCurrentValues(entity);
context.SaveChanges();
}
}
}
您可以选择用户这一事实让我相信EF映射是可以的 检查表上是否有错误使用
dbo.User
作为表名的触发器
作为补充说明,您可以做两件事来帮助诊断这样的问题:
要检查SQL语句,您还可以使用,尽管(此时)您需要使用EF 4.1。您可以选择用户这一事实让我相信EF映射是可以的 检查表上是否有错误使用
dbo.User
作为表名的触发器
作为补充说明,您可以做两件事来帮助诊断这样的问题:
要检查SQL语句,您也可以使用,不过(此时)您需要使用EF 4.1。非常感谢。我使用了SQL Profiler,更新后一切看起来都很好。然后我可以看到下一个动作,忘记了我在表上有触发器来更新上次修改的时间,derrr!!。再次感谢。@Cragly,很高兴我能提供帮助,而且我知道触发器中的代码很容易忘记,特别是当您关注应用程序的不同部分时。非常感谢。我使用了SQL Profiler,更新后一切看起来都很好。然后我可以看到下一个动作,忘记了我在表上有触发器来更新上次修改的时间,derrr!!。再次感谢。@Cragly,很高兴我能提供帮助,而且我知道触发器中的代码很容易忘记,特别是当您专注于应用程序的不同部分时。