将UIHint添加到使用Entity Framework创建的属性

时间:2013-09-02 10:07:21

标签: asp.net-mvc vb.net entity-framework

我有一个使用Entity Framework创建的模型(来自我的数据库)。这给了我一个自动生成的Partial Class,其中包含所有必需的属性。

我想在其中一个属性中添加UIHint数据注释,但我不想将该代码添加到自动生成的文件中。

有没有办法通过另一个Partial Class将UIHint添加到现有属性?或者我错过了如何使用MVC的基本部分?

更新

juhan_h的答案非常有效,但是在VB.NET中它可以帮助任何人:

生成的课程

Partial Public Class MyEntity
    Public Property Id As Integer
    Public Property Name As String
End Class

元数据类

<MetadataType(GetType(MyEntity_Metadata))>
Partial Public Class MyEntity
End Class

Class MyEntity_Metadata
    <DisplayName("Key of the entity")>
    Public Property Id As Integer
    <UIHint("MyTextBox")>
    Public Property Name As String
End Class

1 个答案:

答案 0 :(得分:1)

您可以使用关联的元数据类来使用其他属性修饰自动生成的类。

Here是一篇描述应该适用于您的情况的概念的文章。

示例

生成的课程

public partial class MyEntity
{
    public int Id { get; set; }
    public string Name { get; set; }
}

元数据类

[MetadataType(typeof(MyEntityMetadata))]
public partial class MyEntity
{
}

class Product_Metadata
{
    [DisplayName("Key of the entity")]
    public int Id { get; set; }
    [UIHint("MyTextBox")]
    public string Name { get; set; }
}

我真的不会说VB.NET所以示例是在c#中,但它们应该很容易转换为VB。