を発行します1つのマスターファイルと多数の詳細ファイルがあります。各マスターファイルには、独自のFileParameterとFileParameValueがあります。各マスターファイルの子ファイルは、マスターファイルのFileParameterを使用しますが、独自のFileParameterValueを持ちます。流暢NHibernateのマッピングは私が流暢NHibernateはそれをマップする方法を知りたい、以下のクラスとテーブルを持っている
非常に理想的です。
を発行します1つのマスターファイルと多数の詳細ファイルがあります。各マスターファイルには、独自のFileParameterとFileParameValueがあります。各マスターファイルの子ファイルは、マスターファイルのFileParameterを使用しますが、独自のFileParameterValueを持ちます。流暢NHibernateのマッピングは私が流暢NHibernateはそれをマップする方法を知りたい、以下のクラスとテーブルを持っている
非常に理想的です。
class File
{
public virtual int Id { get; set; }
public virtual IDictionary<FileParameter, FileParameterValue> Parameters { get; set; }
public virtual ICollection<File> Details { get; set; }
}
class FileParameter
{
public virtual int Id { get; set; }
public virtual File MasterFile { get; set; }
public virtual string Name { get; set; }
public virtual string DisplayName { get; set; }
}
class FileParameterValue
{
public virtual int Id { get; set; }
public virtual File ParentFile { get; set; }
public virtual FileParameter FileParameter { get; set; }
public virtual string DefaultValue { get; set; }
public virtual bool DisplayStatus { get; set; }
}
class FileMap : ClassMap<File>
{
public FileMap()
{
Id(file => file.Id).GeneratedBy.Identity();
HasMany(file => file.Parameters)
.AsEntityMap("ParameterId");
// additional Properties
}
}
class FileParameterMap : ClassMap<FileParameter>
{
public FileParameterMap()
{
Id(param => param.Id).GeneratedBy.Identity();
References(param => param.MasterFile, "FileId");
// additional Properties
}
}
class FileParameterValueMap : ClassMap<FileParameterValue>
{
public FileParameterValueMap()
{
Id(param => param.Id).GeneratedBy.Identity();
References(param => param.FileParameter, "ParameterId");
// additional Properties
}
}
はあなたがdetailsfileでparametervalueを追加する場合は、
は、同様の問題のためにも参照マスターファイルのパラメータ・オブジェクトを使用することを、プログラムで確認する必要がありNHibernate mapping
あなたの助言に感謝します。私はそれをテストします。再度、感謝します。 – Pingpong
あなたは明確でしたマスターファイルと子ファイルの関係私はあなたのオブジェクト/ dbモデルでそれが表示されません。 –
@Thilak NathenクラスFileを参照してください。 – Pingpong