2009-06-29 2 views
0

У меня есть таблица SQL Server, которая имеет общие имена, такие как Text1, Text2 .. и т. Д. Таблица была создана так, потому что та же структура используется для разных проектов.Сопоставление свойств класса с общими столбцами в таблице. NET

У меня есть класс в .NET, который имеет свойства. Предположим, что класс Customer имеет свойство FirstName.

Как я могу сделать сопоставление от FirstName до Text1 только один раз (центральное место) в приложении, так что мне не нужно запоминать и жестко кодировать сопоставления по всему приложению при создании разных методов DAL?

Например, я хочу, чтобы приложение узнало, когда я хочу обновить, вставьте FirstName, DAL автоматически использует Text1. В принципе, мне не нужно помнить, какое свойство переходит в какой столбец. Идея заключается в том, что разработчики не отображают свойства/столбцы неправильно. Это всегда непротиворечиво.

Примечание: вставки, обновления и удаления базы данных разрешены только с помощью хранимых процедур.

ответ

0

Посмотрите на различные ОРМ. Для сопоставления устаревшей базы данных является совершенным.

+0

Я не могу использовать сторонние ORM. Я предпочитаю делать это в .NET или LINQ. –

+0

Я не понимаю этого менталитета, это как сказать: «Я не могу использовать отвертку, чтобы повернуть винт». О, ну, я думаю ... – mxmissile

+0

Некоторые компании не разрешают компоненты третьей части для простых решений. Вы говорите, что используете powertoolbox для чего-то простого. Бросок в nHibernate, который является основным инструментом ORM, так что я должен набрать меньше, это не очень хорошая идея. Это также означает, что каждый разработчик в команде должен его изучить. Я ищу решение, которое я могу запрограммировать менее чем за час. –

0

Если вы застряли в MS и не хотите использовать инфраструктуру сущности LinqToSQL, это очень хорошо.

+0

Как? Ищете реализацию, а не просто название технологии. –

0

Если вы не можете использовать NHibernate (и я настоятельно рекомендую вам делать) или не в состоянии использовать LINQ для SQL (возможно, вы база кода .NET 2.0), то ...

Вы вероятно, захочет реализовать какую-либо форму фабричного шаблона. Внутри фабричного объекта вы можете захотеть вернуть массив данных, а затем использовать объект для сопоставления объектов для перевода между вашим набором данных и объектами DTO/View/Entity. Джимми из Lostechies создал отличный объект с открытым исходным кодом для сопоставления объектов, который может оказаться очень полезным: AutoMapper.

Счастливое кодирование