私はこのような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 値に基づいて別のテーブルに参加するにはどうすればよいですか。誰かがこのことを機能させる方法を教えてもらえますか?