【问题标题】:asp.net mvc 2 preview - Templated Helpers linq to sqlasp.net mvc 2 preview - 模板化助手 linq to sql
【发布时间】:2009-08-06 02:43:23
【问题描述】:

我正在查看这些简洁的模板化帮助程序,它们已随 ASP.NET MVC 的最新预览版一起发布。

我注意到我可以根据需要装饰类,但我认为如果在进行架构更改时必须不断重新生成类,Linq 2 Sql 会有点混乱。

是否有人推荐了如何利用模板助手但仍允许我使用 Linq 2 Sql 的方法?

【问题讨论】:

    标签: asp.net-mvc linq-to-sql


    【解决方案1】:

    您所追求的是“伙伴班”。 Scott Gu 在他的 ASP.NET MVC 2 CTP 1 帖子中提到了它,但没有深入探讨。

    反正这是我的理解。假设您有一个名为 Ninja 的表(感谢 Phil Haack!;-),并且您显然拥有与所有其他 linq to sql 类一起生成的相应 linq to sql 类。

    您现在需要做的是创建您自己的带有 'MetadataType' 属性的部分类,如下所示:

    [MetadataType(typeof(Ninja_Metadata))]
    public partial class Ninja
    {
        //Custom model stuff
    }
    

    现在您创建“好友元数据类”,您可以在其中将属性添加到由 linq to sql 设计器生成的属性:

    public class Ninja_Metadata
    {
        [DisplayName("Shurikens")]
        public int ShurikenCount { get; set; }
        [DisplayName("Blowgun Darts")]
        public int BlowgunDartCount { get; set; }
    }
    

    甜食?

    HTH
    查尔斯

    附言。使用这些“伙伴类”也非常适合添加对 DataAnnotation Validation 属性的支持。

    【讨论】:

    • 谢谢 Charlino,我也有同样的想法,但我不确定,因为创建镜像类似乎需要付出很多努力(因为在某些情况下,我猜所有属性都可能需要属性)。我想我每次对架构进行更改时都可以“生成”。
    • 我必须承认,我有点困惑,为什么主要的 ASP.NET MVC(即 Nerddinner)示例使用 Linq2Sql,然后 ASP.NET MVC 2 模板化助手的 Preview 使用 Entity Framework 来演示模板,因为 Linq2Sql 不能很好地使用模板。 IMO 有点不一致
    猜你喜欢
    • 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
    相关资源
    最近更新 更多