向Entity Framework自动生成的属性添加属性

时间:2013-08-07 08:18:03

标签: entity-framework properties attributes metadata

我需要为Entity Framework自动生成的属性添加一些属性,并且在重新生成对象时不希望丢失它们。我也不想触摸T4。

看看interenet我发现部分类可以添加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)?

1 个答案:

答案 0 :(得分:1)

这应该有效:

  1. 为设计器中的映射属性选择其他名称(例如 employee_name_private ),并将设计器中的setter和getter标记为私有
  2. 在部分类文件中,使用必需的属性定义 public 属性:

    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