2016-03-01 24 views

回答

1

你不需要實體框架做這樣的事情,你可以用提供到的DbContext輔助方法來執行您的自定義查詢:

public List<T> ListElements(string tableName, string columnName) { 
    var db = new DbContext(); 
    var query = string.Format("SELECT {0} FROM {1}", tableName, columnName); 
    var data = db.Database.SqlQuery<T>(query); 
    return data; 
    } 

您可以使用此方法列出的項目到表的具體類型。 假設你要顯示一個指定表的所有ID「用戶」你可以寫這樣的代碼:

var userIds = ListElements<int>("Users", "Id"); 
+0

這就是我現在做的方式。我只是想刪除硬編碼的字符串,並動態地執行 –

+0

好吧,現在是不同的,我建議你看到這個相關的帖子:http://stackoverflow.com/questions/3463479/querying-entity-with-linq-using -dyanmic-field-name,希望它能提供幫助 –