2

Visual Studio 2012というプロジェクトを作成し、「データベースファースト」アプローチでEntityFrameworkをセットアップしました。ただし、データベースにマッピングして、フレームワークによって自動的に生成されるはずのDesigner.csファイルを生成した後、エラーのヒープが発生し、それらがどこから来たのかを取得できません。私はあなたのレビューと専門家のコメントのためにtxtファイルとしてエラーを添付しました。

.netフレームワーク、特にEF領域は初めてです。ですから、私の学習曲線の残りの部分に役立つように、具体的な答えを教えていただければ幸いです。

エラー1'System.Data.Entity.DbContext.DbContext(string、System.Data.Entity.Infrastructure.DbCompiledModel)'に最適なオーバーロードされたメソッドの一致には、無効な引数がいくつかありますC:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel .Designer.cs 45 32 TRSDataModel

エラー2引数2:「文字列」から「System.Data.Entity.Infrastructure.DbCompiledModel」に変換できませんC:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel.Designer.cs 45 57 TRSDataModel

エラー3「TRSModel.TRSEntities」に「ContextOptions」の定義が含まれておらず、「TRSModel.TRSEntities」タイプの最初の引数を受け入れる拡張メソッド「ContextOptions」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) C:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel.Designer.cs 47 18 TRSDataModel

エラー4「System.Data.Entity.DbContext.DbContext(string、System.Data.Entity.Infrastructure.DbCompiledModel)」に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数がありますC:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel .Designer.cs 54 55 TRSDataModel

エラー5引数2:「文字列」から「System.Data.Entity.Infrastructure.DbCompiledModel」に変換できませんC:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel.Designer.cs 54 78 TRSDataModel

エラー6「TRSModel.TRSEntities」に「ContextOptions」の定義が含まれておらず、「TRSModel.TRSEntities」タイプの最初の引数を受け入れる拡張メソッド「ContextOptions」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) C:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel.Designer.cs 56 18 TRSDataModel

エラー7「System.Data.Entity.DbContext.DbContext(System.Data.Common.DbConnection、bool)」に最もよく一致するオーバーロードされたメソッドに無効な引数がいくつかありますC:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel.Designer .cs 63 59 TRSDataModel

エラー8引数2:「文字列」から「ブール」に変換できませんC:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel.Designer.cs 6376TRSDataModelエラー9「TRSModel.TRSEntities」に「」の定義が含まれていませんContextOptions'およびタイプ'TRSModel.TRSEntities'の最初の引数を受け入れる拡張メソッド'ContextOptions'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)C:\ Users \ user \ Documents \ TRS \ TRSModel \ TRSEntityModel .Designer.cs 65 18 TRSDataModel

// Lines 10-17
using System;
using System.ComponentModel;
using System.Data.EntityClient;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
using System.Runtime.Serialization;
using System.Xml.Serialization;


// Lines 45-47
public TRSEntities() : base("name=TRSEntities", "TRSEntities")
{
    this.ContextOptions.LazyLoadingEnabled = true;
    OnContextCreated();
}

// Lines 54-56
public TRSEntities(string connectionString) : base(connectionString, "TRSEntities")
{
    this.ContextOptions.LazyLoadingEnabled = true;
    OnContextCreated();
}

// Lines 63-65
public TRSEntities(EntityConnection connection) : base(connection, "TRSEntities")
{
    this.ContextOptions.LazyLoadingEnabled = true;
    OnContextCreated();
}



// Error return by adding the public class TRSEntities to where Rene suggested 
Error   1   Missing partial modifier on declaration of type 'TRSModel.TRSEntities'; another partial declaration of this type exists C:\Users\user\Documents\TRS\TRSModel\TRSEntityModel.Designer.cs 33  18  TRSDataModel
Error   2   'TRSEntities': member names cannot be the usere as their enclosing type C:\Users\user\Documents\TRS\TRSModel\TRSEntityModel.Designer.cs 40  30  TRSDataModel
4

2 に答える 2

1

問題は私が最初に思った通りでした。拡張TRSEntitiesクラスが間違った名前空間で宣言されたため、基本ObjectContextクラスを識別できず、TRSEntitiesクラスがこの基本クラスのメソッドにアクセスできなくなりました。これは、EF名が「TRSModel」から「TRSEntityModel」に変更されたために発生しました。これは明らかにERエンジン内に登録されていないため、以前の名前空間に基づいてこのコンテキストファイルが自動生成されます。

私がまだ確信が持てないことの1つは、この名前の変更をEFに沈め、古い名前を引き継がないようにする方法です。

于 2013-02-24T15:19:06.290 に答える
1

NuGet to EF6インストールを使用しますが、VS2012またはVS2013EF6用のツールもインストールする必要があります

于 2014-03-25T01:13:31.850 に答える