使用Entity Framework全局数据库的唯一ID

时间:2010-08-04 12:20:44

标签: entity-framework

我希望在整个数据库中拥有唯一的对象ID。 EF中有任何内置功能吗? 或者可能有一些做法/模式?

提前感谢。

2 个答案:

答案 0 :(得分:4)

如果您使用SQL Server作为后端,则可以考虑使用UNIQUEIDENTIFIER列而不是IDENTITY列,这意味着您可以在整个数据库中使用GUID作为ID。

请参阅以下MSDN文章中的“GUID属性值”(适用于EF4)

http://msdn.microsoft.com/en-us/library/dd283139.aspx

答案 1 :(得分:1)

1)创建表以存储最后一个id(int,bigint)(标识符域)

2)添加存储过程以检索下一个id(int,bigint)。

3)您可以实现自定义数据类EntityObject and ComplexObject(或者可能在代码中手动分配给每个实体)

4)在您的自定义类中将此ID用作主键

-

如果您使用GUID ... EF(4)具有内置功能来执行此操作。但GUID作为CLUSTERED INDEX的主键是当然很多插入的坏方法。