Я только что установил шаблон POCO для EF4. У меня есть одна сущность в моей модели, AnnouncementText, и файлы T4 кажутся правильно сгенерированными. Попытка доступа к этой новой сущности бросает следующую ошибку, когда я обращаюсь к автогенерируемому свойству MyObjectContext.AnnouncementTexts
:
InvalidOperationException: информация для сопоставления и метаданных не найдена для EntityType 'MyNamespace.AnnouncementText'.
Свойства в AnnouncementText
POCO, похоже, совпадают с столбцами в базе данных, и я не изменил ни один из автоматически сгенерированного кода.
Трассировка стека:
at System.Data.Objects.ObjectContext.GetTypeUsage(Type entityCLRType)
at System.Data.Objects.ObjectContext.GetEntitySetForNameAndType(String entitySetName, Type entityCLRType, String exceptionParameterName)
at System.Data.Objects.ObjectContext.CreateObjectSet[TEntity](String entitySetName)
at MyNamespace.MyObjectContext.get_AnnouncementTexts() in C:\<snip>\MyObjectContext.Context.cs:line 65
at MyNamespace.Class1.Main() in C:\<snip>\Class1.cs:line 14
Если я удалю файлы .tt
из решения и включит генерацию кода на модели, я могу получить доступ к этому свойству без проблем.
Здесь мой код, если это может помочь:
using (var context = new MyObjectContext())
foreach (var at in context.AnnouncementTexts)
Console.WriteLine(at.Title);
Любые идеи о том, что может быть неправильным?