数据库中的“Key”数据注释首先起什么作用?
我通过 Google 找到的所有内容都涉及代码优先,所以我想知道 Key
属性在数据库优先设计方面实际上做了什么?我主要很好奇,因为很多实体都包含复合键,所以我一直在将 Key
注释添加到相应的属性中,但这真的有必要吗?如果是这样,我能从中得到什么?
Everything I find through Google refers to Code First so I'm wondering what the Key
attribute is actually doing in regards to a Database First design? I'm mainly curious because a lot of the entities contain composite keys so I've been adding the Key
annotation to the respective properties, but is this really necessary? And if so, what do I gain from it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用数据库优先工作流程(即您的解决方案中有一个 .edmx 文件)。那么
Key
属性将不起作用。但是,如果您使用代码优先工作流映射到现有数据库,
Key
属性首先会告诉代码该属性是实体主键的一部分。有关不同工作流程的详细信息,请参阅此视频:Visual Studio 工具箱:实体框架第 1 部分
If you're using the database-first workflow (i.e. you have an .edmx file in your solution). Then the
Key
attribute will have no effect.However, if you're using the code-first workflow to map to an existing database, the
Key
attribute tells code first that that property is part of the entity's primary key.For more info on the different workflows see this video: Visual Studio Toolbox: Entity Framework Part 1