1

POCO とマッピング テーブルを取得するために、まずEF リバース エンジニアコードを使用しています。次の例外が発生します: EntityType 'MYPOCO' にはキーが定義されていません。この EntityType のキーを定義します。 pk フィールドに[Key] 属性を追加したところ、正常に動作しました。しかし :

poco PK 属性に [Key] 属性を設定する必要があるのはなぜですか

[Key] // what's the reason for this redundancy with HasKey() in mapping class ?
public int ID_MYPOCO { get; set; }

一方、マッピングクラスではすでに言及されています...

public class MYPOCOMap : EntityTypeConfiguration<MYPOCO>
{
    public MYPOCOMap()
    {
        // Primary Key
        this.HasKey(t => t.ID_MYPOCO);
    }
}

それは機能しており、大したことではありませんが、この冗長性に何らかの理由があるかどうか疑問に思っていますか? とにかく、EF リバース エンジニアリングに非常に満足しています。これは、DB をマップする 4 つの方法よりも私のお気に入りの方法です。

4

2 に答える 2

2

違いは、前者はcompile時刻で、後者は時刻run timeです。

于 2012-10-17T12:59:54.313 に答える