小编sac*_*hin的帖子

在Code First的情况下,使用MetadataType强制执行验证是否有意义?

我似乎理解在数据库优先的情况下帮助MetadataTypeAttribute模型添加验证背后的原因,因为我们希望避免在下次从数据库生成模型时覆盖的更改.

我注意到很少有人MetadataType使用Code First方法定义验证,并且他们的实体类不可能被某种自动生成的代码覆盖.

将这些DataAnnotations直接应用于实际的Entity类是否有意义,而是将它们分成部分类定义,然后使用链接MetadataType,即使使用Code First方法定义实体模型?

public class MyEntity
{
    [Required]
    public string Name { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

VS

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

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

public class MyEntityMetadata
{
    [Required]
    public string Name { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

.net c# validation asp.net-mvc entity-framework

13
推荐指数
1
解决办法
2384
查看次数

标签 统计

.net ×1

asp.net-mvc ×1

c# ×1

entity-framework ×1

validation ×1