在我的应用程序中手动生成guid或让sql server/azure sql为我生成它更好

Rey*_*ldi 5 c# sql-server entity-framework azure-sql-database

如何在我的应用程序中为我的实体生成guid,这些实体将由实体框架存储到sql azure.

现在我用Id = Guid.NewGuid().它是否正确?

编辑

为了澄清我为什么要这样做,下面是我的解释

我的朋友告诉我,sql server可以使用"NewID()"生成guid.现在我使用"Guid.NewGuid()"在我的应用程序中生成guid.我应该使用哪一个?对我来说,我目前的方法更方便,因为我甚至在将其保存到数据库之前就获得了guid值.每种方法的上/下方是什么?

Soh*_*pta 5

你生成Guid它的地方并不重要,因为它保证在任何一种情况下都是唯一的.但是来自Domain Driven Design后台的人会建议在C#侧面生成它是正确的方法,因为您可以立即使用它,而无需查询数据库是否需要更新其他实体Guid.

  • 立即拥有ID可供我使用,因为我在代码中生成了ID而没有服务器生成的ID.理论上,这也使得切换到另一个数据库服务器变得更容易. (3认同)