【发布时间】:2011-07-13 14:47:48
【问题描述】:
一年前提出的这个问题与此类似: Does the Entity Framework 4 support generators for id values like NHibernate?
但我想知道的是,代码优先 CTP 是否增加了对身份生成策略的支持。如果没有,是否有人知道 EF 中有一个很好的扩展点来实现类似的东西?
我目前正在处理使用 GUID 作为标识符的模型类。使用 EF 插入时,它们会保留其 Guid.Empty 初始值。我知道您可以将数据库中列的默认值设置为newid(),但这违背了客户端身份生成的目的。
实体框架是否不够成熟,无法用于分布式、断开连接的系统?
【问题讨论】:
-
EntityFramework 4.0 是从 1.0 向前迈出的一大步,但它仍然是 Microsoft 实现的另一个半成品。可扩展性几乎没有。
-
@Jeff,虽然我很欣赏您的意见(我的意见类似,但我更喜欢 NH),但对于这个特定项目,我没有使用其他东西的余地。
-
很抱歉听到这个消息。我更多地回答了您的问题“实体框架是否不够成熟,无法在分布式、断开连接的系统中使用?”我对答案的看法是:它已经足够成熟了,如果您不介意在分布式系统的每个部分中实现半成品。
-
GUID 的一个好处是客户端可以分配标识符,而不是等到它被持久化到数据库中。
标签: c# entity-framework entity-framework-4 ef-code-first