问题描述
最近,我开始使用.net core开发NhiberNate,并尝试一些简单的方法 我有一张这样的桌子:
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual string LastName { get; set; }
public virtual int ClusterId { get; set; }**
这样映射:
Id(x => x.Id).Column("Id").GeneratedBy.GuidNative();
Map(x => x.Name);
Map(x => x.LastName);
Id(x => x.ClusterId);
现在Guid是主键,clusterid只是身份,我首先创建了表,然后在其中手动插入数据,像这样在服务器端创建的guid
37815D12-C7BF-4575-9786-306D56DCB86D
但是当我通过邮递员等从数据库中获取数据时,Guid返回类似
00000000-0000-0000-0000-000000000000
我返回类似return _session.Query<CustomEntity>().ToList();
这样的代码的数据
我尝试使用.GeneratedBy.GuidComb();
和.GeneratedBy.Guid();
进行更改映射,但不起作用。
解决方法
将Id(x => x.ClusterId);
更改为Map(x => x.ClusterId);
。具有两个Id映射会导致各种问题。