能够以某种方式说生成的实体类中的某些属性应该由(例如)验证属性(以及Linq To SQL列属性)修饰,这将非常方便。
它是某个地方的T4模板吗?还是有其他方法给猫皮肤?
答案 0 :(得分:1)
Damien Guard编写了可自定义的T4模板。参见:
http://damieng.com/blog/2008/09/14/linq-to-sql-template-for-visual-studio-2008
...和
答案 1 :(得分:0)
不,SqlMetal工具处理C#的生成,它本身定义了如何生成C#(或VB)。
我不熟悉您想要的模板样式,但您可以尝试放弃生成的类(如果它们不是那么大的变化),因为它们只是部分类。
否则,您需要编写/查找SqlMetal的自定义实现
答案 2 :(得分:0)
不幸的是,对于部分类,您无法从部分类的其他部分向成员添加属性 - 即,如果SqlMetal定义了属性Foo
,则无法在自己的Foo
中添加属性.cs
的一半。
这消除了(通常)自定义此类文件的更强大方法之一...您可能需要抓住机会并手动编辑生成的文件(在完全从dbml中分离之后) - 或者写你自己的dbml解析器frmo scratch(可能使用xslt)。不容易。
答案 3 :(得分:0)
动态数据中的解决方法是使用可以修饰的元数据类:
[MetadataType(typeof(Product_Meta))]
public partial class Product
{
public partial class Product_Meta
{
[Range(5, 50, ErrorMessage = "The product's reorder level must be greater than 5 and less than 50")]
public object ReorderLevel { get; set; }
}
}