LINQ to SQL строки для перечисления - PullRequest
17 голосов
/ 07 августа 2008

LINQ to SQL позволяет преобразованиям таблиц автоматически преобразовывать туда и обратно в Enums, указав тип для столбца - это работает для строк или целых чисел.

Есть ли способ сделать регистр нечувствительным к регистру или добавить в класс пользовательский класс сопоставления или метод расширения, чтобы я мог более подробно указать, как должна выглядеть строка.

Причины для этого могут заключаться в том, чтобы предоставить более приятное соглашение об именах в каком-нибудь новом стиле C # -кода в системе, где схема данных уже установлена ​​(и на нее полагаются некоторые унаследованные приложения), поэтому фактический текст в база данных не может быть изменена.

1 Ответ

3 голосов
/ 07 августа 2008

Вы всегда можете добавить частичный класс с тем же именем, что и ваш класс LinqToSql, а затем определить свои собственные параметры и функции. Затем они будут доступны как параметры объекта и методы для этого объекта так же, как доступны автоматически сгенерированные методы LinqToSql.

Пример: у вас есть класс LinqToSql с именем Car, который сопоставляется с таблицей Car в БД. Затем вы можете добавить файл в App_Code со следующим кодом:

public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

Я не уверен, полностью ли это соответствует вашему требованию изменить способ отображения Enums в столбец. Однако вы можете добавить параметр, в котором свойства get / set будут работать для отображения необходимых вам перечислений, сохраняя при этом регистр без учета регистра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...