Я пытаюсь найти этот ответ повсюду и чувствую, что не должен знать правильные ключевые слова, которые мне нужны, поэтому я надеюсь найти ответ здесь.Картирование/преобразование данных между слоем данных и логическим слоем
Так я строю проект, который подключается так:
База данных <> Layer Data <> Logic Layer <> UI
Когда данные попадают в Logic Layer, я пытаюсь выполнить небольшое преобразование. Во-первых, я продемонстрирую код, а затем объясню, что я пытаюсь сделать.
У меня есть объект «PersonDao» внутри слоя данных с ниже настройки:
public class PersonDao
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int GenderID { get; set }
}
и объект «GenderDao» со следующим:
public class GenderDao
{
public int GenderID { get; set; }
public string Name { get; set; } //this essentially holds 'male' and 'female'
}
В логическом уровне, я есть объект «PersonDto» в пределах логического уровня, который отражает уровень данных:
public class PersonDto
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int GenderID { get; set }
}
и, конечно, «Генд объект rDto», что отражает его аналог в уровне данных
public class GenderDao
{
public int GenderID { get; set; }
public string Name { get; set; }
}
Теперь, с этой информацией, что я пытаюсь сделать, это либо создать Автоотображение или иную форму преобразования, который позволяет мне автоматически соответствовать GenderDto.Name к идентификатору PersonDto.GenderID. Я в принципе хочу:
PersonDto.GenderID = GenderDto.Name где GenderDto.GenderID == PersonDto.GenderID
И реверс это отображение, а также.
Конечной целью является то, что в слое пользовательского интерфейса, пользователь может тянуть профиль человека и увидеть что-то вроде:
- Имя: John
- Фамилия: Doe
- Пол: Мужской
Пользователь может также ввести эту же информацию выше в форме, которая передает эту информацию на логический уровень, который, в свою очередь, преобразует имя пола обратно в гендерный идентификатор, чтобы он мог быть хранится в базе данных.
Любая помощь будет принята с благодарностью, благодарю вас.
С чем вы столкнулись? – Nix
По существу, в DAL уже есть сопоставление структуры сущностей, и AutoMapper уже установлен. Но я хочу, чтобы BLL (Logic Layer) мог преобразовать отображение так, чтобы, когда слой UI видит данные, они получают пол (женщина/мужчина) вместо представления int. – Azu
В свою очередь, я хочу, чтобы иметь возможность переконвертировать это, так что, когда пользователь вводит мужчина/женщина, база данных получает представление int для применения к табличным данным – Azu