为什么实体框架会复制所有类名并默认大写第一个字母?这样做有什么好处?可能是一个愚蠢的问题......但出于好奇心?
答案 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食谱。