2011-09-28 70 views
4

我用一個抽象Entity類,其中包含一個GUID:正確的Guid映射。 NHibernate的

public abstract class Entity 
{ 
    public /*virtual*/ Guid Id { get; set; } 
} 

想我也有一類這樣的:

public class Post : Entity 
{ 
    public String Title { get; set; } 
    public String Content { get; set; } 
    public DateTime Timestamp { get; set; } 
} 

如何使用XML映射正確映射Post類?我在問Id。

回答

12
<id name="Id"> 
    <generator class="guid"/> 
</id> 

,這將產生使用Guid.NewGuid()方法在客戶端上的GUID。

替代發生器是:

  • guid.native - 在服務器端,例如生成的GUID在SQL服務器上使用NEWID()
  • guid.comb - 生成「連續」GUID,可減少索引碎片。

我會爲大多數使用Guid標識符的應用程序推薦guid.comb。