可能听起来像一个愚蠢的问题,但有一个方面我想知道:
我正在使用具有 PrimaryKeys 的 Guid 属性的对象,该属性在数据库中自动生成。我正在使用实体框架,代码优先。如果我在保存之前使用此属性执行 Console.WriteLine,则值为
00000000-0000-0000-0000-000000000000
.
在上下文中使用 Add 和 SaveChanges 后,如果我Console.WriteLine
再次使用相同的属性,我有一个值:
615f98eb-4ced-422a-877f-b9caa6f2b91f
显然,内存中的对象已经被更新了。但我想知道怎么做。Guid 是在数据库中生成的,那么会发生什么?
对象的 Guid 属性是简单地通过 EF 从数据库中更新,还是 EF 在将整个对象保存到数据库后将其重新加载到内存中?
我想知道,因为这将决定我NUnit-tests
在同一个项目中的设计方式。