【问题标题】:create buddy class for auto generated desgner.cs with Database first首先使用数据库创建伙伴类以自动生成designer.cs
【发布时间】:2012-11-13 05:02:58
【问题描述】:

我想为 Datafirst Entity Framework 中自动生成的 Designer.cs 创建一个伙伴类,以使用数据注释实现验证。

我在 google 上找到的解决方案包含具有简单属性的示例,例如

public int EmpID
{get;set;}

而在 Designer.cs 中生成的属性包含一些逻辑。例如-

/// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.Byte RoleID
    {
        get
        {
            return _RoleID;
        }
        set
        {
            OnRoleIDChanging(value);
            ReportPropertyChanging("RoleID");
            _RoleID = StructuralObject.SetValidValue(value);
            ReportPropertyChanged("RoleID");
            OnRoleIDChanged();
        }
    }

请指导如何为上述属性创建伙伴类。

【问题讨论】:

    标签: asp.net-mvc-3 entity-framework-4.1 data-annotations buddy-class


    【解决方案1】:

    您可以使用部分类为上述属性创建伙伴类。看看这篇文章:Entity Framework using Partial classes to add business logic and validation to generated entities

    如果你需要创建大量的好友类并且有一致的模式,那么考虑使用代码生成:Customize the code generated by the Entity Designer with T4 templates

    【讨论】:

    • Tarzan- 抱歉,由于网络感知阻止了第一个链接,我无法访问它。对于第二个链接,我无法得到它。你的意思是说我应该把dataannotations放在通过选择“ADO.NET EntityObject Generator”模板或Self Tracking Template生成的cs文件中。请指导,因为我也是 EF 新手。
    • @VirendraTamrakar 而不是第一个链接,这是 StackOverflow 上的另一篇文章:stackoverflow.com/questions/850404/…
    • Tarzan-链接似乎没有验证或数据注释
    • 它展示了如何使用部分类为实体框架对象创建伙伴类。您可以将验证和数据注释片段添加到部分类中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多