1. ホーム
  2. entity-framework

[解決済み] エンティティフレームワークのコードで、最初に、複数の列でKeyAttributeを使用する方法

2023-01-12 08:05:36

質問

エンティティフレームワークのコードファーストCTP5で使用するPOCOモデルを作成しています。 私は、プロパティがPK列にマップされるように装飾を使用しています。 しかし、どのように私は複数の列にPKを定義することができ、具体的には、どのように私はインデックス内の列の順序を制御することができますか? それはクラス内のプロパティの順序の結果ですか?

ありがとうございます!

どのように解決するのですか?

属性で列の並び順を指定するなどの方法があります。

public class MyEntity
{
    [Key, Column(Order=0)]
    public int MyFirstKeyProperty { get; set; }

    [Key, Column(Order=1)]
    public int MySecondKeyProperty { get; set; }

    [Key, Column(Order=2)]
    public string MyThirdKeyProperty { get; set; }

    // other properties
}

もしあなたが Find メソッドで DbSet を使用する場合は、キーパラメータのこの順序を考慮する必要があります。