Entity Framework 4是否支持像NHibernate这样的id值的生成器?

Sam*_*l G 7 entity-framework generator

Entity Framework 4是否支持像NHibernate这样的id值的生成器?NHibernate有生成器类来帮助解决这个问题.

mar*_*c_s 4

EF4 支持后端服务器支持的任何内容:

  • SQL Server 中具有默认值(newid()、newsequentialid())的 IDENTITY 列或 GUID 列
  • Oracle 中的序列
  • 目标数据库可能提供的任何其他机制

据我所知,EF4 本身没有对任何类型的生成器的任何内置支持。

老实说,我不确定将其作为 ORM 的责任是否是一个好主意。在我看来,这确实应该留给后端存储来处理。

但是,您应该可以轻松地在 .NET 代码中实现自己的自定义 ID 生成器,并将其插入 EF4(如果您愿意)。

  • 我很欣赏有关 EF4 不支持 ID 生成器这一事实的信息。然而,-1 是为了用不知情的意见来掩盖这一缺陷。事实上,客户端生成 ID 是有效实现断开连接、分布式和/或同步系统的唯一方法。让数据存储生成标识符通常是不必要的,有时甚至是不可能的序列化点。 (2认同)