1

Entity Framework によって自動生成されたプロパティにいくつかの属性を追加する必要があり、オブジェクトを再生成するときにそれらを失いたくありません。T4も触りたくない。

インターネットを見ると、次のように部分クラスを MetaDataType に追加できることがわかりました。

<MetadataType(GetType(Employee_Metadata))> _
Partial Public Class employee
...

次に、実際のメタデータをプロパティに追加する別のクラスを作成します。

Public Class Employee_Metadata

    <Category("General"), DisplayName("Name"), Description("Employee name.")> _
    Public Property employee_name() As String
        Get
            Return _employee_name
        End Get
        Set(value As String)
            _employee_name = value
        End Set
    End Property
    Private _employee_name As String

End Class

さて、属性にアクセスするには他に何をする必要があるでしょうか? 現在、UI コンポーネントをクラス従業員の自動生成プロパティ「employee_name」にバインドしています (MVVM を使用)。部分クラスでさらに何かを変更する必要がありますか、それともデータバインディング自体 (この場合は WPF) を変更する必要がありますか?

4

1 に答える 1

1

これはうまくいくはずです:

  1. デザイナーでマップされたプロパティに別の名前 (例: employee_name_private ) を選択し、デザイナーでセッターとゲッターの両方をPrivateとしてマークします。
  2. 部分クラス ファイルで、必要な属性を持つパブリックプロパティを定義します。

    Partial Public Class Employee
    
        <Category("General"), DisplayName("Name"), Description("Employee name.")> _
        Public Property employee_name() As String
            Get
                Return employee_name_private
            End Get
            Set(value As String)
                employee_name_private = value
            End Set
        End Property
    
    End Class
    
于 2013-08-21T12:51:45.907 に答える