我希望在整个数据库中拥有唯一的对象ID。 EF中有任何内置功能吗? 或者可能有一些做法/模式?
提前感谢。
答案 0 :(得分:4)
如果您使用SQL Server作为后端,则可以考虑使用UNIQUEIDENTIFIER列而不是IDENTITY列,这意味着您可以在整个数据库中使用GUID作为ID。
请参阅以下MSDN文章中的“GUID属性值”(适用于EF4)
答案 1 :(得分:1)
1)创建表以存储最后一个id(int,bigint)(标识符域)
2)添加存储过程以检索下一个id(int,bigint)。
3)您可以实现自定义数据类EntityObject and ComplexObject(或者可能在代码中手动分配给每个实体)
4)在您的自定义类中将此ID用作主键
-
如果您使用GUID ... EF(4)具有内置功能来执行此操作。但GUID作为CLUSTERED INDEX的主键是当然很多插入的坏方法。