我使用Entity Framework
开发一个asp.NET
应用程序,我得到以下异常每当我试图在我的dbo.Slider
表创建一个记录:System.Data.SqlClient.SqlException:无效的对象名称dbo.Slider“
System.Data.Entity.Infrastructure.DbUpdateException:
更新条目时发生错误。
有关详细信息,请参阅内部例外。 --->
System.Data.Entity.Core.UpdateException:
更新条目时发生错误。
有关详细信息,请参阅内部例外。 ---> System.Data.SqlClient.SqlException:
无效的对象名称'dbo.Slider'。在...
我使用的是实体框架服务,称为efService
我创建并调用我的代码隐藏表单:
protected Services.EFService efService = new Services.EFService();
我尝试创建一个按钮点击滑块和这里有一个代码,我用的是一节它的键断裂之前:
slider.DateCreated = DateTime.Now;
slider.Caption = txbPhotoCaptionCreate.Text;
slider.IsPublic = cbxPhotoPublicCreate.Checked;
slider.Path = string.Empty;
slider.ThumbnailPath = string.Empty;
slider.DisplayPath = string.Empty;
int sliderId = efService.CreateSlider(slider); // It breaks here
这里是CreateSlider efService
,我已经做:
public int CreateSlider(Models.EF.Slider slider)
{
DB.Sliders.Add(slider);
DB.SaveChanges();
return slider.Id;
}
这一切都适用于我有其他几乎完全相同功能的表。
下面是我用它来创建我的Slider
表的SQL:
CREATE TABLE [dbo].[Slider]
(
[Id] INT IDENTITY(1,1) NOT NULL,
[Caption] VARCHAR (50) NOT NULL,
[Position] INT NOT NULL DEFAULT 1,
[IsPublic] BIT NOT NULL DEFAULT 1,
[Path] NVARCHAR (250) NULL,
[ThumbnailPath] NVARCHAR (250) NULL,
[DisplayPath] NVARCHAR (250) NULL,
[DateCreated] DATETIME NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
有没有生成错误,整个应用程序运行除非我尝试创建一个记录Slider
罚款。通过大量调试,我可以得出结论,发生问题时发生DB.SaveChanges()
。
确定EF是否指向与执行该SQL查询相同的数据库?调试该方法并检查'DB'对象,它有一个'Database'属性,它应该包含'ConnectionString'。 – user3185569
是的,就像它对我的其他表 –
@ user3185569,使我在正确的轨道上。我在本地创建了数据库,但应用程序使用了云数据库。所以这个问题实际上是在我的Web配置中指向错误的数据库。如果你愿意,你可以回答。 –