В моей базе данных есть одна большая таблица «code» с системными кодами для значений, используемых во всей системе. Как так:Сопоставление таблицы кодов в BLToolkit
[TableName("code_entries")] public class Code {
[MapField("code_nbr")][PrimaryKey, Identity] public int Id;
[MapField("code")] public string Value;
}
Я новичок в BLToolkit, и я надеюсь, что есть понятие, близкое к статическим Отображению, которые я видел, но это позволит мне легко сопоставить вхождения этих кодов в других таблицах к их соответствующие значения. Например:
[TableName("person")] public class Person {
[MapField("person_nbr")][PrimaryKey, Identity] public int Id;
[MapField("dob")][Nullable] public int BirthDate;
[MapField("eye_color")][Nullable] public int EyeColorCode;
[MapField("hair_color")][Nullable] public int HairColorCode;
}
Если EyeColorCode и HairColorCode выше карты до значений в таблице кодов, можно создать легкий способ отображения этих данных в рамках OR классов и получить весь объект в одном запросе?
Я хотел бы закончить с чем-то вроде:
// person.Id = 1
// person.DOB = some date
// person.EyeColor = "Blue"
// person.HairColor = "Brown"
У нас есть некоторые такие коды, которые достаточно меняются, чтобы сделать это в данных. Это путь, к которому я направлялся, но проблема заключается в том, что он заставляет меня реагировать на все остальные столбцы также в новом объекте (Id и DOB в вашем примере) и мешает мне использовать сгенерированный класс базы данных (Person), не восстанавливая его. Эти значения кода используются во многих наших таблицах, поэтому я не смог бы использовать сгенерированные классы вообще. – Jason