我有一个SQL Server2008数据库表,它使用唯一标识符作为主键。在插入时,使用newid()函数在数据库端生成密钥。
这在ADO.NET中工作得很好,但是当我将这个表设置为实体Framework4模型中的一个实体时,就出现了一个问题。我可以很好地查询实体,但是当创建一个新实体并对上下文调用SaveChanges()时,在数据库上生成的唯一标识符是全零的。
我知道EF v1有一个问题,这个场景不起作用,需要在调用SaveChanges之前在客户端创建GUID。然而,我在很多地方读到,他们计划在EF 4中修复这个问题。
我的问题是--这种场景(数据库端生成唯一标识符)在EF4中仍然不受支持吗?我们仍然坚持在客户端生成GUID吗?
发布于 2010-05-14 23:26:24
发布于 2010-05-13 22:29:14
是的,这在EF 4中发生了变化。You can now use a server generated GUID。@MusiGenesis,服务器生成的GUID有一些优势;它们可以是连续的,例如
https://stackoverflow.com/questions/2827193
复制相似问题