我可以使用以下代码行来创建一个只返回“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# 文件中,因此命名空间不会有问题,因为代码的强类型版本工作得很好。任何想法如何解决这个问题?
笔记:
不确定这是否有所不同,但实体框架设置为无代码生成策略,然后我构建了自己的类以供使用。但是我已经用 EdmEntityTypeAttribute 属性标记了它们。