[英]Dynamically select data runtime from entity framework 6.0 throws exception
我想按如下方法從實體框架中選擇動態數據。
如果我在queryString中選擇“從TableName中選擇*”,它可以正常工作,但如果我僅選擇選定的列/列,則它不起作用並引發異常。
工作正常
string queryString = @"SELECT * FROM context.TableName ";
DbSqlQuery<SampleTable> result = context.SampleTable.SqlQuery(queryString);
引發異常
columnList是從SampleTable生成的運行時,其中可能包含一列或多列。
string queryString = @"SELECT " + String.Join(",", columnList) + " FROM context.TableName ";
DbSqlQuery<SampleTable> result = context.SampleTable.SqlQuery(queryString);
例外:
數據讀取器與指定的'context.TableName ...不兼容...類型的成員,在數據讀取器中沒有具有相同名稱的對應列。
根據我的理解,EF嘗試映射所有列,但是上面的查詢沒有與代碼中設置的列數相同,因此會引發異常。
您可以檢查以下步驟:
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.