私はMixrosoftの心を理解しようとしています。WPF(XAML)DataContextとEntity Framework Contextオブジェクトの間にリンクはありますか?なぜそれらの両方をコンテキストと呼ぶのですか?Entity FrameworkContextオブジェクトはWPFDataContextですか?
3 に答える
いいえ、同じではありません。
WPF DataContextは、データをWPFコントロールにバインドできる任意のオブジェクトです。
Entity Framework ObjectContext(DbContext)は、ORMの「ファサード」です。
EFなしでWPFを操作し、DataContextとして何でも使用できます。同様に、EFを使用してデータをWinFormsで表示することも、まったく表示しないこともできます。
MSは、「UIでデータを表示する」と「データベースでデータを操作する」というそれぞれのユースケースでコンテキストに応じて使用するため、「-Context」と呼んでいたと思います。
いいえ、それらの間にリンクはありません。どちらもコンテキストを提供するため、どちらにもContextという単語が含まれています。
DataContext
コントロールがバインドできるObjectContext
コンテキストを提供し、データソース(データベースなど)を操作するためのコンテキストを提供します。
いいえ。
コンテキストという用語は英語での一般的な用語であり、通常、何かの条件または境界を設定するものをセットを定義するために使用されます。たとえば、プログラミングのコンテキストでは、関数は値を返すコードの一部ですが、人間のアクティビティのコンテキストでは、それは人が行う仕事である可能性があります。
したがって、WPFでのデータバインディングの場合、コンテキストはプレゼンテーションにバインドされているデータ(またはオブジェクト)です。EFコンテキストは、データソースへの接続を管理する一連のものです。
率直に言って、ほとんどのソフトウェアにはコンテキストオブジェクトがいたるところにあります:-)