53

私はEntityFrameworkfluent-apiについて聞き続けていますが、これに関する適切なリファレンスを見つけるのに苦労しています。それは何ですか?

提供されているエンティティフレームワークとモデリングツールを使用します。それだけですか?それとも何か違うのですか?

同様に、質問が広すぎない場合、POCOとは何ですか?それがPlainOldCLR Objectsの略であることは知っていますが、デザイナーモデルツールですでにEFを使用している人にとって、それはどういう意味ですか?その質問が曖昧すぎる場合は、無視してください。私はここで学んでいるところですが、あなたが喜んで提供してくれる情報は役に立ちます。

4

5 に答える 5

58

Entity Framework 4.1 では、データベース モデルを記述するコード ファーストのアプローチが導入されています。これは、POCO (Plain Old CLR Objects) とも呼ばれます。アイデアは、最初にデータベースを構築してそこからモデルを作成するのではなく、これらのクラスからデータベースを構築できるということです。

これに関する優れたブログ記事や MSDN ドキュメントがたくさんあります。始めるのに良い場所は

http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-fluent-api-samples.aspx

http://weblogs.asp.net/scottgu/archive/2010/12/08/announce-entity-framework-code-first-ctp5-release.aspx

http://weblogs.asp.net/manavi/archive/2011/03/27/associations-in-ef-4-1-code-first-part-1-introduction-and-basic-concepts.aspx

流暢な API に関しては、これは基本的に EF クラスを使用してデータベースを構築しています。

modelBuilder.Entity<Category>().HasKey(c => c.CategoryCode);

Categoryしたがって、テーブルに「CategoryCode」という名前の主キーがあることを手動で述べています。次のように PK を宣言することもできます。

public class Category
{
    [Key]    
    public int CategoryCode { get; set;}
}

[Key]属性はデータ注釈から取得されます

于 2011-06-13T15:23:10.957 に答える
5

POCO は Plain Old CLR Object の略です。

Fluent API に関する記事。

于 2011-06-13T15:22:39.677 に答える
1

ここで MSDN の Code First Fluent API セクションを確認することもできますhttp://msdn.microsoft.com/en-us/library/hh295844

于 2012-01-12T13:15:23.730 に答える
0

POCO の質問への回答: 現在取り組んでいるアプリケーションでは、POCO を使用して Silverlight フロント エンドにデータを渡しています (EF はそれをカットしていませんでした)。基本的に、私は EF モデラーが作成したエンティティを使用し、それらをシリアライズ可能なバージョンに変換してから、ネットワーク経由でやり取りします。POCO は、必要に応じて抽象化のレイヤーを提供するために存在します。通常の DAO パターンのように DB アクセスに使用するのではなく、DAO パターンをシリアル化に適応させたものと考えています。

于 2011-06-13T15:27:54.720 に答える
0

http://www.asp.net/entity-framework/tutorials/creating-an-entity-framework-data-model-for-an-asp-net-mvc-applicationの POCO クラスに関する段落を参照してください。

基本的に、EF のコンテキストでは、POCO クラスは Entity Framework EntityObject クラス (データベース ファーストまたはモデル ファーストで既定で取得されるもの) から継承しないエンティティ クラスです。他の回答の1つが言及しているように、これによりオブジェクトのシリアル化が容易になりますが、一部の開発および自動テスト方法論では、Entity Framework への参照を持たないオブジェクトを操作することを好みます。

于 2011-06-15T00:57:05.763 に答える