Использование C # 4.0
Исходя из моего вопроса Как настроить nHibernate для сопоставления многие-многие? Я запутался, и это может быть из-за неправильного дизайна моего класса.
Рынок моделирует финансовый рынок. Брокер моделирует финансового брокера, который может взаимодействовать со многими рынками. Рынок может взаимодействовать со многими брокерами. См. Broker
и Market
классы ниже.
public class Market
{
public int Id { get; set; }
public string Symbol { get; set; }
public string Description { get; set; }
}
public class Broker
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsDefault { get; set; }
public bool IsActive { get; set; }
public IList<Account> Accounts { get; set; }
}
У меня есть дополнительный атрибут в отношении многие ко многим, называемый MinIncrement
, который уникален для комбинации Market
и Broker
.
Какой лучший способ смоделировать это? Нужно ли создавать третий класс или я могу поместить MinIncrement
в один из моих существующих классов? Должен ли я создать третий класс и наследовать от одного из моих существующих? Я не совсем уверен, как смоделировать это OO способом.
В моей базе данных это просто. У меня есть три таблицы:
- брокеры (PK: brokerId)
- рынков (PK: marketId)
- brokerMarkets (PK: brokerId, marketId), здесь указывается столбец MinIncrement