エンティティ フレームワークを SQL サーバーと共に使用するのは初めてなので、エンティティ フレームワークに問題があります。EMP というエンティティを使用してエンティティ データ モデルを作成することに成功しました。EMP には、スカラー プロパティとして ID、名前、および給与があります。次に、モデルからデータベースを生成し、結果の sddl をコピーして SQL サーバーに貼り付け、データベースを作成しました。VS 2010 Express に戻り、次のコードを使用してデータベースにいくつかのレコードを追加しようとしました。
string constr = ConfigurationManager.ConnectionStrings["dataemp"].ConnectionString;
dataemp db = new dataemp(constr);
db.AddToEmps(Emp.CreateEmp(0, "john", "Informatique", "10000000 cfa"));
db.AddToEmps(Emp.CreateEmp(1, "johny greg", "finances", "100000000 cfa"));
db.SaveChanges();//i get the error here
Console.WriteLine(
"*********Employee actuellement dans la database*********\n{0}",
query.ToString());
その結果、コンパイラは、データベースに接続していないか、データベースにアクセスできなかったかのように例外を返しますが、データベース エクスプローラーには表示されます。データベース エクスプローラーでのもう 1 つのポイント: テーブル (EMP) が表示されませんが、SQL Server では dbo.Emps として表示されます。コンパイラが私に示す例外は次のとおりです。
未処理の例外: System.Data.UpdateException: エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。---> System.Data.SqlClient.SqlException: 無効なオブジェクト名 'dbo.Emps'。
System.Data.SqlClient.SqlConnection.OnError (SqlException 例外、ブール型 breakConnection) で System.Data.SqlClient.SqlInternalConnection.OnError (SqlException 例外、ブール型 breakConnection) で System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() で System.Data System.Data.SqlClient.SqlDataReader.ConsumeMetaData() の System.Data.SqlClient.SqlDataReader.get_MetaData() の .SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj)。 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) の System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior の動作、String メソッド) の Bo olean returnStream、String メソッド) System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior の動作) の System.Data.Common.DbCommand.ExecuteReader(CommandBehavior)行動)SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、Bo olean returnStream、String メソッド) System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 動作、String メソッド) で System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 動作) System.Data.Common.DbCommand.ExecuteReader (CommandBehavior 動作) でSqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、Bo olean returnStream、String メソッド) System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 動作、String メソッド) で System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 動作) System.Data.Common.DbCommand.ExecuteReader (CommandBehavior 動作) で
System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator トランスレーター、EntityConnection 接続、Dictionary2 identifierValues, List
1 generatedValues) で System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager、IEntityAdapt er アダプター) で -- - 内部例外スタック トレースの終了 --- System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter) で System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) で System.Data
D:\Users\ITA Final\documents\visual studio 2010\Project s\zut\zut\Program.cs:line 13 の ConsoleApplication1.Program.Main(String[] args) の.Objects.ObjectContext.SaveChanges(SaveOptions options)
エンティティ フレームワークとエンティティへのリンクに関する多くのチュートリアルを読みました。ここで何が間違っているのかわかりません。