为什么实体框架会使实体类名称复数化和大写?

时间:2010-08-09 20:44:30

标签: entity-framework-4 pluralize capitalize

为什么实体框架会复制所有类名并默认大写第一个字母?这样做有什么好处?可能是一个愚蠢的问题......但出于好奇心?

3 个答案:

答案 0 :(得分:2)

.NET样式指南说所有类名都应该在CamelCase中。

我不知道多元化,但它并不是个体实体对象的多元化,是吗?但是对于收藏品来说是有意义的。

答案 1 :(得分:1)

Capitalization Conventions.NET Design Guidelines for Developing Class Libraries部分中,它指出所有类名都应该是Pascal大小写,它定义为:

  

“标识符中的第一个字母   和每个的第一个字母   随后的连接词是   资本化。你可以使用Pascal案例   标识符为三个或更多   字符。例如:

     

背景色“

对于复数化,当您使用Entity Framework模型设计器的默认设置时,我发现您正好相反。它会将多个Table名称转换为它们的单数等价物。例如,使用Northwind数据库并使用默认设置,我发现设计人员会将Products表更改为名为Product的类,将Categories表更改为名为Category的类。这是有道理的,因为对象的单个实例将是Product而不是Products

如果你得到相反的效果那么我很困惑。但是,请查看Dan Rigsby撰写的这篇文章 - Entity Framework 4.0: Pluralization,它可能解释了正在发生的事情。

答案 2 :(得分:0)

你应该将一个班级单一化并使一个集合多元化。例如,这是通过ef

完成单一化和多元化的地方

var customer = new Customer {}; //奇异的课程 db.Customers.AddObject(客户); ObjectSEt是复数

customer.Orders.Add(new Order {});订单导航属性是多元化的。

要了解更多信息,您还可以阅读我书中的7-6食谱。