asp.net mvc 2预览 - 模板化助手linq到sql

时间:2009-08-06 02:43:23

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

我正在查看这些整洁的模板助手,这些助手已经发布了最新的ASP.NET MVC预览版。

我注意到我可以根据需要修改类,但我认为如果我在进行架构更改时必须继续重新生成类,那么Linq 2 Sql会有点麻烦。

是否有人建议如何利用模板助手,但仍允许我使用Linq 2 Sql?

1 个答案:

答案 0 :(得分:4)

你所追求的是'Buddy Class'。 Scott Gu在他的ASP.NET MVC 2 CTP 1的帖子中提到了它,但没有进入它。

无论如何,这是我对它的理解。假设你有一个名为Ninja的表(感谢Phil Haack!;-),你显然有相应的linq到sql类,它是沿着所有其他linq到sql类生成的。

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

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

现在您创建了“Buddy元数据类”,您可以在其中为linq生成的属性添加属性到sql设计器:

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

甜食?

HTHS
查尔斯

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