Я могу использовать следующую строку кода для создания запроса, который возвращает только объекты типа «ActivityEntity»....
var q = CreateObjectSet<EntityBase>("EntityBases").OfType<ActivityEntity>()
.. и выполнение запроса работает как положено. Но я хочу создать запрос с использованием синтаксиса Entity SQL и, следовательно, попытался преобразовать приведенное выше в следующий код...
string query = "SELECT it FROM OFTYPE(MyContext.EntityBases, MyNamespace.ActivityEntity) AS it";
var q = context.CreateQuery<DbDataRecord>(query.ToString(), new ObjectParameter[] { });
... за исключением того, что это дает следующую ошибку...
Тип «MyNamespace.ActivityEntity» не найден. Убедитесь, что необходимые схемы загружены и что пространства имен импортированы правильно.
... оба набора кода находятся в одном и том же файле C#, поэтому нет никаких проблем с пространством имен, потому что строго типизированная версия кода работает просто отлично. Любые идеи, как решить эту проблему?
ПРИМЕЧАНИЕ:
Не уверен, имеет ли это значение, но Entity Framework настроен со стратегией генерации кода None, а затем я создал свои собственные классы для использования. Но я пометил их атрибутом EdmEntityTypeAttribute.