Подтвердить что ты не робот

LINQ to SQL строки для перечислений

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

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

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

4b9b3361

Ответ 1

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

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

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

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