【发布时间】:2016-04-01 17:42:54
【问题描述】:
我使用实体框架编写应用程序,我在“ButtonSave”中编写任何代码,如下所示:
_objEntities = new PCApp_TaxitechEntities();
contact objModel = new contact();
objModel.Name = customerName;
objModel.Phone = PhoneNumber;
_objEntities.contacts.Add(objModel);
int Result = _objEntities.SaveChanges();
这会在行中引发异常:
int Result = _objEntities.SaveChanges();
带有如下消息:
更新条目时出错:{"Invalid object name 'dbo.contact'."}
这是我的连接字符串:
<connectionStrings>
<add name="PCApp_TaxitechEntities"
connectionString="Data Source=.\sqlexpress;Initial Catalog=PCApp_Taxitech;
User ID=sa;Password="/>
</connectionStrings>
当然,在 SQL Server 中,我有数据库 PCApp_Taxitech。
我不知道这个应用程序何时调用SaveChanges()方法抛出异常。
【问题讨论】:
-
你在那个数据库中有一个叫做contact的表吗?
-
你是如何配置你的 DbSet 的?
-
@VănLộc 您的表名为
contacts(复数),但 EF 正在尝试写入名为contact(单数)的表。检查您的 EDMX 并确保引用了正确的表格。 -
一位开发人员在离开我的公司后交出了一个项目。但是数据库丢失了,我看到了 .edmx 文件和
Generate database from model。我换了connectionString。 -
好吧,我不知道你的项目,没有看到你的 edmx 文件或你如何创建你的数据库......但是错误消息与你的屏幕截图(这是我所看到的)很清楚:EF 正在尝试写入
dbo.contact,您的表称为dbo.contacts(不是contact),因此出现错误。您的错误与您发布的代码(调用SaveChanges除外)和您的连接字符串无关,只要它连接到该数据库
标签: c# database entity-framework