1

エンティティ フレームワーク edmx の接続文字列がありました。これは、メタデータを含む通常の EF 接続文字列です。

今、私は mvc-mini-profiler を実装しており、コンテキストを作成するために以下のメソッドを書きました。現在、SQL接続文字列部分のみを使用しており、EF接続文字列は使用していません。

今は動作しますが、メタデータ (.csdl、.ssdl アドレス) をどのように取得しているか興味があります。

public static T GetProfiledContext<T>() where T : ObjectContext
    {
        // create connection
        var sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
        // wrap the connection with a profiling connection that tracks timings 
        var profiledDbConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(sqlConnection, MiniProfiler.Current);
        // create context
        return profiledDbConnection.CreateObjectContext<T>();
    }
4

1 に答える 1

2

メタデータなしで機能する理由は、CreateObjectContext拡張メソッドがコンテキストの作成時にこれらのメタデータを追加するためです。ワイルドカードを使用します:res://*/メタデータを取得します。ここで実装を確認できます。

于 2011-07-17T13:47:39.070 に答える