EF从未定义的表/视图中检索实体

时间:2011-06-14 08:35:10

标签: entity-framework

是否可以从模型中未定义的视图中检索记录,并使用列名或序号检索其列值?

我写这段代码:

AppContext ctx = new AppContext("name=DbConnString");
string commandText = "SELECT V.ID, V.Code, V.Description FROM vw_UserDefinedView AS V";
ObjectQuery<DbDataRecord> query = new ObjectQuery<DbDataRecord>(commandText, ctx);

但是当我尝试执行它时发生异常:

'vw_UserDefinedView' could not be resolved in the current scope or context. Make sure that all referenced variables are in scope, that required schemas are loaded, and that namespaces are referenced correctly. Near simple identifier, line 1, column 43.

有没有办法使用Entity Framework和ObjectContext(或DbContext)来实现这一目标?

祝你好运, 阿尔贝托

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。正如消息已经说明:“'vw_UserDefinedView'无法在当前范围或上下文中解析。”上下文(.edmx)不知道该视图。您必须意识到您正在查询实体模型而不是数据库!

如果您不想在实体模型中使用此视图(无论出于何种原因),则只需使用SqlCommandSqlConnectionSqlDataReader来执行有关vw_UserDefinedView的语句。

更新

也许此链接可以进一步帮助您:Entity Framework : Add Properties/Entities during runtime