我通过Google找到的所有内容都指代Code First,所以我想知道Key
属性在数据库优先设计方面实际上做了些什么?我很好奇,因为很多实体都包含复合键,所以我一直在为各自的属性添加Key
注释,但这真的有必要吗?如果是这样,我从中获得了什么?
答案 0 :(得分:2)
如果您正在使用数据库优先工作流程(即解决方案中有.edmx文件)。然后Key
属性将无效。
但是,如果您使用代码优先工作流映射到现有数据库,则Key
属性首先告诉代码该属性是实体主键的一部分。
有关不同工作流程的详细信息,请参阅此视频:Visual Studio Toolbox: Entity Framework Part 1