Можно ли использовать один и тот же Enum в нескольких сущностях в Linq-to-SQL? - PullRequest
2 голосов
/ 09 марта 2010

В моем слое персистентности я объявил загрузку Enums для представления таблиц, содержащих справочные данные (т.е. данные никогда не меняются).

В Linq2SQL я могу установить тип свойства объекта для типа enum, и все хорошо, но как только я установил свойство второго объекта для использования того же типа enum, запускается генератор кода (MSLinqToSQLGenerator) создание пустого файла кода.

Я предполагаю, что MSLinqToSQLGenerator тихо падает. Вопрос почему , и есть ли обходные пути? Кто-нибудь еще сталкивался с этой проблемой?

Ответы [ 2 ]

2 голосов
/ 09 марта 2010

Является ли ваше перечисление случайно в файле с именем dbml? В 3.5 есть ошибка (исправлена ​​в 4.0), где конфликты приводят к пустому файлу. Как ни странно, обычно перемещение директив using (и щелчок правой кнопкой мыши; запуск настраиваемого инструмента) исправляет это.

Так что если у вас есть "foo.dbml" и ваш собственный "foo.cs" (в той же папке) с:

using System;
namespace MyNamespace {

}

это сломается (сгенерируйте пустой файл foo.designer.cs). Если у вас есть:

namespace MyNamespace {
    using System;

}

это будет работать. Я не шучу. Аналогично, переименование файла «foo.cs» в «bar.cs» (и щелчок правой кнопкой мыши, запуск специального инструмента) исправит это.

0 голосов
/ 09 марта 2010

Как ни странно, я обнаружил, что такое поведение происходит только с Enum с именем "GrantType". Как только имя enum изменилось, генератор снова заработал.

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