我想在LINQ查詢中傳遞一個字符串。使用字符串通過DbContext訪問表
string TableName = "db.Countries";
var ActualData = (from n in TableName
where n.Record_Instance >= 0
select n).OrderBy(primaryColumn);
我的目標是:我想把查詢放在一個方法中,並在需要時調用它。基本上改變TableName並將其作爲函數調用的參數傳遞。
有沒有辦法做到這一點?
更新:
解決方法:
var TableName = db.Countries;
GetConditionaldata(TableName,..);
private object GetConditionaldata(DbSet<Country> TableName, ..)
{
var ConditionalData = (from n in TableName
where n.Record_Instance >= 0
select n).OrderBy(primaryColumn);
var count = ConditionalData.Count();
var countries = ConditionalData.Skip(jtStartIndex).Take(jtPageSize);
return countries;
}
但在這裏,我要再次指定DbSet<Country>
作爲參數類型。如果我至少可以找到一種方法來獲得通用Dbset <>我可以將它作爲我的tableName的參數類型傳遞,那麼我的問題就可以解決。
那麼就要Where子句是動態的呢? – sachin
請參考以下鏈接:http://stackoverflow.com/questions/3280422/passing-a-linq-expression-as-a-string –
@sachin我確實需要。 –