У меня есть три объекта, которые имеют общий базовый класс. Каждый из сущностей имеет свой собственный класс Map для моего контекста и очень просто загружается. Каждый объект имеет другое имя первичного ключа, которое я переименовываю в базовый класс, поэтому я могу использовать общие методы трех объектов при использовании одного и того же имени свойства.EF получение сопоставленного имени столбца из строки
Все прекрасно отображает при переходе в базу данных, например, я могу сделать db.Vehicle.Where(v => v.VehicleID < 100)
, и это переводит на имя столбца БД, отличное от VehicleID
.
Проблема в том, что я сейчас хочу идти в противоположном направлении. Так, например, у меня может быть строка "Length"
, но в одной таблице это может быть Length1
и в другом Length2
. Я хочу использовать то же самое отображение, которое я использовал в построителе моделей, чтобы иметь возможность переводить "Length"
во все соответствующие значения, основанные на свойстве (v => v.Length
) в базовом классе.
Есть ли у кого-нибудь идеи о том, как это может быть выполнено?
Да, я понимаю, отображение с моделью строитель, но позволяет сказать, что я даюсь строка «Length», я бы тогда, как каким-то образом использовать EF, чтобы отобразить это значение строки к строке «length1» для ConcreateClass1 и " Length2 "для ConcreateClass2. Причина в том, что я создаю шаблон для отображения разных типов транспортных средств, и я хотел бы указать в профиле только одно значение, которое затем можно каким-либо образом отобразить через EF в соответствующее имя столбца в базе данных. Как EF знает, что нужно изменить. Где (f => f.Length) в «Length1», когда он генерирует SQL? – Abysmalk
<< Как EF знает, что нужно изменить. Где (f => f.Length) в «Length1», когда он генерирует SQL? >> Мы сообщим modelBuilder имя столбца с помощью функции HasColumnName, то есть как EF знает, что такое столбец имя для свойства. Я не понимаю, в чем ваш вопрос. – hazimdikenli
Есть ли способ получить доступ к этой таблице поиска, которую я создаю с помощью построителя модели? Итак, если у меня есть свойство, я могу получить отображаемое имя строки? – Abysmalk