使用 Entity Framework Code First 时将 SQL Server Sequential Guid 作为键
我想使用 EF4 将实体映射到具有顺序 guid 作为 PK 的表。根据这篇文章 http:// leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/ EF4 支持此功能,但使用 edmx 映射。使用 EF4 Code First 时是否可以使用服务器生成的 Guid,如果可以,如何使用?
I want to use EF4 to map entity to a table that has sequential guid as a PK. According to this post http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/ EF4 supports this but with edmx mapping. Is there a way to use the server generated Guids when using EF4 Code First and if yes how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您必须映射您的 Key 属性。假设您有一个像这样的实体:
然后您可以定义
DbContext
派生类,例如:或者您可以简单地使用数据注释定义您的实体:
编辑:
如果映射是,则此方法有效与现有数据库一起使用,但如果您希望 EF 代码优先为您创建数据库,它将使用普通(非顺序)引导! 检查此问题以获取数据库生成时可能的解决方案。
Yes, you must map your Key property. Let's assume you have an entity like:
Then you can define
DbContext
derived class like:Or you can simply define your entity with Data Annotations:
Edit:
This works if the mapping is used with existing database but if you want EF code-first to create database for you it will use normal (not sequential) guids! Check this question for possible solutions in case of database generation.