我很难将一个实体映射到另一个作为查找表的实体。
create table Sources
(
SourceId identity(1,1) primary key not null,
Name [nvarchar](255) NULL,
)
create table Candidates
(
CandidateId int identity(1,1) primary key not null,
SourceId int references Sources(SourceId) NULL,
)
和实体:
public class Candidate : Entity
{
public virtual Source Source { get; set; }
}
public class Source : Entity
{
public virtual string Name { get; set; }
}
我收到一个错误:
An association from the table Candidates refers to an unmapped class: Entities.Source
但我不确定如何进行映射:
public class CandidateMap : IAutoMappingOverride<Candidate>
{
public void Override(AutoMapping<Candidate> mapping)
{
mapping.Map(x => x.Source);
}
}
最佳答案
问题是我继承自作为 NHibernate 命名空间一部分的实体,而不是 SharpArch.NHibernate 命名空间。 SharpArch 做了一些我正在使用的项目的映射。
关于C# Nhibernate 映射到查找表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37308106/