私がしたいこと:.netコアアプリケーション(.net 4.5を対象とする)に古いプロジェクト(.net 3.5)データコンテキストとリポジトリを使用します。私は詳細な説明と私が以下で試したことを書いた。私は私の仕事で(.NET 4.6フレームワーク上で).NETのコアを使用してMVCアプリケーションを構築してい.NETコア - 古い.netフレームワークをターゲットにする
をやりたい
。アプリケーションは、既存のデータベースと統合する必要があります。私の.NETのコアMVCアプリケーションで通常
、startup.cs
に私のようなものを実行します。
services.DbContext<Context>(options...)
をし、接続文字列を解析します。私は次にservices.AddTransient
...と私のデータベースにアクセスできるように私のコントローラにリポジトリを注入する。
しかし、私自身のデータベースコンテキストとリポジトリとクエリを設定する代わりに、自分の仕事で既存のコードベースを使用したいと思います。私は既存のソリューションと同じソリューションでプロジェクトを作成しました。既存のプロジェクトはWebフォームで、.NET 3.5を使用します。データベースとリポジトリのやり方は少し異なります。DataContext
をSystem.Data.Linq
に、web.config
から接続文字列を読み取ります。依存関係注入の代わりに、コントローラはこのクラスのインスタンスをインスタンス化するだけです。
は、私は私のstartup.cs
で
を試してみました何を、私はDataContextのを作成し、他のプロジェクトのリポジトリにそれを解析しようとしたが、それはYou need to reference
System.Data.Linq in the .NET framework 3.5.0
のようなものを言いました。
私の質問は、1).NET 4.5をターゲットにした.NETコアプロジェクトで、データコンテキストクラスとリポジトリを.NET 3.5を使用して使用することは可能ですか?
この問題に関するアドバイスをありがとうございます。
2つのプロジェクトを作成します。 1つは古いコード用のNet 3.5を使用するクラスプロジェクトです。次に、クラスプロジェクトを参照するNet 4.5でメインプロジェクトを作成します。 – jdweng
こんにちは@jdweng - それは実際には現在の設定です。したがって、3を使用する古いプロジェクト(スタートアッププロジェクトではありません)。5では、datacontextを初期化する必要がありますが、これは.net 4.5では同じではないと思います。私は3.5のプロジェクトと同じ方法で作成しようとしましたが、それを古いプロジェクトのリポジトリに渡しましたが、.net 4.5プロジェクトで初期化する場所が赤くなりエラーを投げて、 'system .data.linq'は.net 3.5には存在しますが、.net 4.5には存在しないようです。それは私が苦労している問題です。 – xenetics
http://stackoverflow.com/questions/34830033/asp-net-5-missing-linq-to-sql-classこれを済ませたら、それらのオブジェクトを.netコアアプリケーションの使用可能なオブジェクトにラップすることができます –