У меня возникла проблема с отображением, которое я бы назвал довольно простой ассоциацией.
Вот пример модели домена, которую я пытаюсь отобразить:
public class MyClass
{
IDictionary<string, DateTime> Dates { get; set; }
}
public class MyOtherClass
{
IDictionary<string, DateTime> Dates { get; set; }
}
Я бы хотел, чтобы свойство Dates отображалось в одну таблицу, примерно так:
TABLE Dates
COLUMNS
ParentId (Parent class key value)
ParentType (Parent class type)
DateType (Index value for dictionary)
DateValue
SAMPLE
ParentId ParentType DateType DateValue
----------------------------------------------------------
1 MyClass TYPEA 2009-10-09
1 MyOtherClass TYPEA 2009-11-08
Я открыт для предложений относительно того, как лучше смоделировать это, но в основном я хочу ассоциацию один ко многим без засорения базы данных отдельной таблицей для каждой коллекции.
Я использую DateTime в этом конкретном примере, так как именно это я и пытаюсь сделать прямо сейчас, но это также может быть любой тип, даже другой пользовательский класс, который я хотел бы смоделировать таким же образом.
Есть идеи относительно того, как это должно быть отображено?
Я полагаю, что это похоже на вопрос, который я задавал ранее ( NHibernate: Как я могу отобразить детей нескольких родителей общего типа в одну таблицу? ), но это решение оказалось в кросс-таблицах всех над местом, которое на самом деле не является результатом, которого я пытаюсь достичь.