0

我有一个使用实体框架(来自我的数据库)创建的模型。这给了我一个自动生成的具有所有必需属性的部分类。

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

有没有办法通过另一个部分类将 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
4

1 回答 1

1

您可以使用关联的元数据类来使用附加属性来装饰您自动生成的类。

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

例子

生成的类

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。

于 2013-09-02T10:28:55.033 回答