Мы начинаем преобразование в BL Toolkit, но сталкиваемся с некоторыми проблемами и не нахождением ответов. Одна из таких проблем заключается в невозможности сопоставления атрибута MapValue на нашем DTO.BLToolkit MapValue not mapping
Использование шаблонов T4, мы формируем это (в качестве примера):
[MapField("counterparty_fl")]
[MapValue(true, 'y')]
[MapValue(false, 'n')]
public bool CounterpartyFlag { get; set; } // flag_yn_TY(1)
Наша база данных Sybase, а поле counterparty_fl является символ (1), который принимает либо «у» или «п».
Однако, когда я смотрю на SQL, порожденного следующий запрос ссылки, он пишет [counterparty_fl] = 0. Что мне нужно [counterparty_fl] = «п»
var results = (from i in facade.InputList
where (
i.UserIdentifier == criteria.UserId &&
i.CounterpartyFlag == false &&
i.Name == criteria.Name)
select i);
Кто лучше удачи с MapValue? Какие-либо предложения?
Спасибо, что, похоже, заставило нас пройти через это препятствие. –
У меня есть вопрос об этом. Использование этого метода Insert: public static int Вставить (эта таблица target, Expression > setter); «CounterpartyFlag = false» работает отлично. Итак, как-то на вставке непосредственно из DTO таблицы, преобразование просто преуспевает. В чем разница, если бы вы могли объяснить? Мне любопытно, и я ожидаю, что мои товарищи по команде тоже захотят узнать. –