Сопоставление свойств класса с общими столбцами в таблице.NET
У меня есть таблица SQL Server, которая имеет общие имена, такие как Text1, Text2 и т. Д. Таблица была разработана так, потому что одна и та же структура используется для разных проектов.
У меня есть класс в.NET, который имеет свойства. Скажем, у класса Customer есть свойство с именем FirstName.
Как я могу выполнить сопоставление FirstName и Text1 только один раз (центральное место) в приложении, чтобы мне не приходилось запоминать и жестко кодировать сопоставления во всем приложении при создании различных методов DAL?
Например, я хочу, чтобы приложение знало, когда я хочу обновить, вставьте FirstName, DAL автоматически использует Text1. По сути, мне не нужно запоминать, какое свойство передается в какой столбец. Идея состоит в том, чтобы разработчики не отображали свойства / столбцы неправильно. Это всегда соответствует.
Примечание. Вставка, обновление и удаление базы данных допускаются только через хранимые процедуры.
2 ответа
Если вы застряли в MS и не хотите использовать структуру сущностей, LinqToSQL очень хорош.
Если вы не можете использовать NHibernate (и я настоятельно рекомендую вам это сделать) или не можете использовать LINQ to SQL (возможно, ваша база кода -.NET 2.0), тогда...
Возможно, вы захотите реализовать какую-то фабричную модель. Внутри вашего фабричного объекта вы можете захотеть вернуть строго набор данных, а затем использовать объект для сопоставления объектов для преобразования между вашим набором данных и объектами DTO/View/Entity. Джимми из Los Techies создал отличный объект с открытым исходным кодом для сопоставления объектов, который может оказаться очень полезным: AutoMapper.
Удачного кодирования.
Посмотрите на различные ОРМ там. Для отображения устаревшей базы данных, NHibernate идеально подходит.