我有 2 个这样的表:
TABLE ARTICLE
Id int NOT_NULL PK
Title nvarchar(50) NOT_NULL
TABLE CONTENT
Id int NOT_NULL PK
content nvarchar(MAX) NOT_NULL
remarks nvarchar(200)
所以每篇文章都会有一个 pk id 与文章 pk id 相同的内容,然后我创建了这样的域类:
public class Article {
public virtual int Id {get; set;}
public virtual string Title {get; set;}
public virtual Content Content {get; set;}
}
public class Content {
public virtual int Id {get; set;}
public virtual string content {get; set;}
public virtual string remarks {get; set;}
}
我尝试像这样映射这些类:
public class ArticleMap : ClassMap<Article>
{
public ArticleMap()
{
Id(x => x.Id);
Map(x => x.Title);
Reference(x => x.Content).ForeignKey("Id");
}
}
public class ContentMap : ClassMap<Content>
{
public ContentMap()
{
Id(x => x.Id);
Map(x => x.content);
Map(x => x.remarks);
}
}
我确实将数据读取到表中,但最终得到NHibernate.ObjectNotFoundException
. 在我的情况下,我应该如何映射没有外键的类,但仅基于相同的 PK Id 值加入另一个表。有人可以指导我如何使这件事起作用吗?