4

会社のスタッフを管理するためのプログラムを C# で作成するというタスクがあります。簡単な概要のみ - 各従業員に関するすべての情報は、MS SQL データベースに保存されます。プレゼンテーション レイヤーとして WPF を使用し、データベースとの通信として LINQ to Entities を使用する必要があります。

事は - 私は独力でWPFを学ぶことができましたが、SQLは深刻な問題です。私はいくつかの調査を行いましたが、多くの異なるチュートリアルを読んだ後でも、満足のいくものは見つかりませんでした. 私はこのモデルのメカニズムさえ理解していません。データベースからエンティティモデルを作成した後、SQL Serverに関連付けられなくなるため、SQL Serverでデータベースを作成しても何も起こらないと私は理解しています。したがって、作成された SQL データベースのデータを更新しても、プログラム自体には使用できなくなります。私は間違っている可能性があり、それは非常に可能性が高いですが、私はそれを理解していません.

それで、誰かが私を正しい方向に向けることができますか?始めるために何を知っておく必要がありますか? たぶん、そのような初心者のためのチュートリアルはありますか?

4

3 に答える 3

5

ADO.NET Entity Framework (EF) は、Visual Studio 2008 および .NET Framework 3.5 Service Pack 1 で最初にリリースされました。これまでのところ、多くの人が EF を Microsoft の単なる ORM 製品と見なしていますが、設計上、EF ははるかに強力であると想定されています。単なる ORM ツールではありません。新しいデータ アクセス プロバイダーである EntityClient は、この新しいフレームワーク用に作成されていますが、内部では、データベースとの通信に ADO.NET データ プロバイダーが引き続き使用されています。

アプリケーションは、データベースに直接接続したり、データベース固有の構造を認識したりしなくなりました。アプリケーション全体が、高レベルの EDM モデルの観点から動作します。これは、ネイティブのデータベース クエリ言語を使用できなくなったことを意味します。データベースが EDM モデルを理解できないだけでなく、現在のデータベース クエリ言語には、継承、関係、複合型などの EDM によって導入された要素を処理するために必要な構造がありません。

. LINQ to Entities を使用すると、開発者は LINQ 式と LINQ 標準クエリ演算子を使用して、エンティティ データ モデル (EDM) に対して柔軟で厳密に型指定されたクエリを作成できます。

チュートリアルはここにあります

于 2013-03-02T17:24:24.030 に答える
1

Entity Framework は非常に簡単で非常に強力な ORM です。http://www.asp.net/entity-frameworkから始めることをお勧めします。ここでは、短時間で起動して実行するのに役立つ多くの入門チュートリアルを見つけることができます。これらのチュートリアルは ASP.NET に関連付けられていますが、非常に簡単に理解し、他のプラットフォームで使用できます。

于 2013-03-02T17:17:54.047 に答える
1

それは基本的にあなたが実際に言ったことの反対です:

データベースからエンティティモデルを作成した後、SQL Serverに関連付けられなくなるため、SQL Serverでデータベースを作成しても何も起こらないと私は理解しています。したがって、作成された SQL データベースのデータを更新しても、プログラム自体には使用できなくなります。

Entity Framework (EF) がデータベースに接続し、SQL Server からデータを取得します。それ以降、アプリに変更を加えると、EF は「切り離された」モードで動作します。これがおそらくあなたの混乱の原因です。欠けている部分は、ef.SaveChanges() を使用して EF に指示し、「デタッチ」モードで行われたすべての変更をデータベースにプッシュすることです。したがって、メモリ内で変更を行い、準備ができたら、EF にそれらの変更をデータベースにプッシュするように指示します。

別のポイントとして、SQL Server に直接変更を加えると (これが発生するシナリオを見ることができます)、「デタッチ」モードの EF オブジェクトで問題が発生することは間違いありません。正直なところ、ここで何が起こるかわかりません。私よりも経験豊富な人が言うべきことですが、それは非常に興味深い質問であり、私も答えを知りたいと思っています.

以下は、良いと思われるチュートリアル情報です。

http://www.microsoft.com/downloads/details.aspx?FamilyID=355c80e9-fde0-4812-98b5-8a03f5874e96&displaylang=en これは実際にこの回答に含まれています

また:

http://www.codeproject.com/Articles/363040/An-Introduction-to-Entity-Framework-for-Absolute-B

編集:分離モードについて話すときは、EF の内部には操作できるさまざまなモードがあり、そのうちの 1 つが分離モードであることを理解してください。私は自分の回答で「切り離されたモード」という用語を使用するのが嫌いでした b/c 他の人がやって来て、その用語は紛らわしいと言うでしょうが、それらは正しいです。EF 内には「デタッチ」モードがあり、それはやや高度なトピックであることを理解してください。

于 2013-03-02T17:15:56.370 に答える