Primary Key
中有Foreign Key
和MVC
命名约定的某种不同方法,我想澄清哪一种最有可能接近标准惯例如果他们之间几乎没有差别。下面是一个示例代码,使用两个名为Student
和Country
的表。
惯例I:我更喜欢这种方法,因为我不想在每个PK
属性上重复表名。
学生表
ID => Primary Key property
CountryId => Foreign Key property
国家/地区表
ID => Primary Key property
// other properties
第二号公约:
学生表
StudentId => Primary Key property
CountryId => Foreign Key property
国家/地区表
CountryId => Primary Key property
// other properties
除了此问题之外,我还想知道如果ID
中使用Id
或Primary Key
作为Entity Class
存在差异。有什么想法吗?
答案 0 :(得分:1)
这注定会被视为自以为是,但我会选择第一个约定。这更像是我的一个宠儿,但是当我看到像这样的东西时,它会让我感到不安:
public class Student
{
public int StudentId { get; set; }
public string StudentName { get; set; }
...
}
嗯,当然 ,这是学生的身份和学生的名字。那是班级的名字。然后,您的API看起来像student.StudentName
,只是看起来很荒谬。
长和短,如果属性是类的内在属性,请不要在类前面添加前缀。您应该拥有student.Id
和student.Name
等API。
说到外键时,应在其前面添加类名,因为它会告诉您关系。像student.CountryId
这样的东西非常清楚地表明这是学生国家的外键。在编程中,可读性和自我文档化的API是至关重要的。