Cập nhật:
Bạn sẽ phải triển khai IUserType của riêng mình để xử lý các Guids không có dấu gạch ngang.
Bạn có thể đọc về nó tại đây:
http://dotnet.dzone.com/articles/und hieu-nhibernate-type
Chi tiết bên dưới hiện không liên quan đến câu hỏi nhưng tôi sẽ giữ nó ở đây để mọi người tham khảo trong tương lai.
Sử dụng Guids "bình thường"
Trong thực thể của bạn, Id phải thuộc loại Hướng dẫn:
public virtual Guid Id { get; private set; }
Và trong Bản đồ lớp của bạn, bạn nên ánh xạ nó như sau:
Id(x => x.Id)
.Column("Id")
.GeneratedBy.GuidComb();
Thao tác này sẽ sử dụng thuật toán lược được đề xuất để tạo ra các rãnh mới.
hoặc
Id(x => x.Id)
.Column("Id")
.GeneratedBy.Guid();
để genertae Guids mới bằng cách sử dụng System.Guid
hoặc
Id(x => x.Id)
.Column("Id")
.GeneratedBy.GuidNative();
nếu bạn muốn để cơ sở dữ liệu tạo Hướng dẫn cho bạn.