私は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'が無効です。 ...
で私は、Entity Frameworkサービスを使用しています、私が作成し、自分のコードビハインドフォームを呼び出すこと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'オブジェクトをチェックすると、' ConnectionString'を保持する 'Database'プロパティがあります。 – user3185569
はい、まさに他のテーブルと同じです –
@ user3185569私は正しい軌道に乗っています。私はDBをローカルに作成しましたが、アプリケーションはクラウドDBを使用していました。だから問題は実際に私と一緒にweb-configにある間違ったDBを指していました。あなたが望むなら、あなたはそれに答えることができます。 –