Ошибки компиляции ADO.NET Self-Tracking Entity Generator - PullRequest
1 голос
/ 12 мая 2011

Я не могу понять, почему я вдруг получаю эти ошибки компиляции.Давайте пройдемся по шагам, которые я предпринимаю:

1) Я создаю новый проект ASP.NET MVC3 (C #) с использованием движка Razor View

2) В папке «Модели» я добавляю ADOМодель данных сущности .NET, подключите ее к моей базе данных и назовите ее Database.edmx

3) Я открываю свой Database.edmx и выбираю Добавить элемент генерации кода.Затем я добавляю генератор сущностей отслеживания Selft и называю его Model.tt

Все генерируется автоматически.Однако когда я нажимаю на build, я получаю следующие ошибки компиляции:

Error   1   Cannot implicitly convert type 'System.Type' to 'MyOwnProject.Models.Type'  
Error   2   'MyOwnProject.Models.Type' does not contain a definition for 'IsValueType' and no extension method 'IsValueType' accepting a first argument of type 'MyOwnProject.Models.Type' could be found (are you missing a using directive or an assembly reference?) 
Error   3   'MyOwnProject.Models.Type' does not contain a definition for 'IsGenericType' and no extension method 'IsGenericType' accepting a first argument of type 'MyOwnProject.Models.Type' could be found (are you missing a using directive or an assembly reference?) 
Error   4   'MyOwnProject.Models.Type' does not contain a definition for 'GetGenericTypeDefinition' and no extension method 'GetGenericTypeDefinition' accepting a first argument of type 'MyOwnProject.Models.Type' could be found (are you missing a using directive or an assembly reference?)   
Error   5   Cannot implicitly convert type 'System.Type' to 'MyOwnProject.Models.Type'  
Error   6   'MyOwnProject.Models.Type' does not contain a definition for 'FullName' and no extension method 'FullName' accepting a first argument of type 'MyOwnProject.Models.Type' could be found (are you missing a using directive or an assembly reference?)   
Error   7   'MyOwnProject.Models.Type' does not contain a definition for 'FullName' and no extension method 'FullName' accepting a first argument of type 'MyOwnProject.Models.Type' could be found (are you missing a using directive or an assembly reference?)   

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

Кто-нибудь знает, почему это не удается?Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Похоже, в вашей базе данных есть таблица TYPES, в результате которой получается класс сущностей Type.Этот класс скрывает класс System.Type.Измените имя вашей сущности на что-то другое, например TypeEntity.

2 голосов
/ 12 мая 2011

Не называйте свою сущность "Тип". В .NET есть действительно, очень важный тип, который уже называется Type. Вы будете только причинять себе боль этим именем. Выберите имя, которое не совпадает с именем встроенного фундаментального типа.

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