Я пытаюсь создать сопоставление NHibernate для следующих таблиц:
AutomatedTestSequence - SequenceID, SequenceName
TestStep - StepID, StepDisplay
StepSequenceMapping - SequenceID, StepID
TestParameters - SequenceID, StepID, ParamID, ParamName, ParamValue
Мои классы и сопоставления:
public class AutomatedTestSequence
{
public virtual int Id
{
get;
set;
}
public virtual string Name
{
get;
set;
}
public virtual IList<TestStep> StepsList
{
get;
set;
}
}
, и сопоставление:
<class name="AutomatedTestSequence" table="AutomatedTestSequence">
<id name="Id" column="SequenceID"/>
<property name="Name" column="SequenceName"/>
<bag name="TestStep" table="StepSequenceMapping" cascade="none" lazy="false">
<key column ="SequenceID" />
<many-to-many class="TestStep" column="StepID" />
</bag>
</class>
Второй класс:
public class TestStep
{
public virtual int Id
{
get;
set;
}
public virtual string Display
{
get;
set;
}
public virtual IList<StepParameter> StepParameterList
{
get;
set;
}
}
и отображение:
<class name="TestStep" table="TestStep">
<id name="Id" column="StepID"/>
<property name="Display" column="StepDisplay"/>
<bag name="TestParameters" table="TestParameters" cascade="none" lazy="false">
<key column ="StepID" />
<many-to-many class="TestParameters" column="ParameterId"/>
</bag>
</class>
Третий класс:
public class StepParameter
{
public virtual int Id
{
get;
set;
}
public virtual string Name
{
get;
set;
}
public virtual string value
{
get;
set;
}
}
и отображение:
<class name="TestParameters" table="TestParameters">
<id name="Id" column="ParamID"/>
<property name="Name" column="ParamName" />
<property name="Value" column="ParamValue" />
</class>
Моя проблема заключается в том, что параметр связан с определенным шагом в определенной последовательности автоматической проверки (например, у меня есть параметр с именем StartDate
, для шага он может иметь значение 7AM
Open Application
в автоматической последовательности Morning Sequence
и значение 7PM
для шага Open Application
в автоматической последовательности Evening Sequence
), но в текущем отображении, которое у меня есть, параметр связан с шагом независимо от того, к какому автоматическому теступоследовательность, к которой он принадлежит.Как изменить сопоставление для включения идентификатора автоматической последовательности тестирования при сопоставлении параметров?