[英]Entity framework: Retrieving data with column name and value
如果我使用:
private List<string> GetDataFrom()
{
var result = new List<string>();
using (var context = new mainEntities())
{
var matches = context.data.Where(s => s.Width == 500).ToList();
result.AddRange(matches.Select(t => t.Key));
}
return result;
}
它給了我完美的結果,但是我想使用一種可以使用列名和值的方法,如下所示:
private List<string> GetDataFrom(string columnName, int valToMatch)
{
var result = new List<string>();
using (var context = new mainEntities())
{
var propertyInfo = typeof(data).GetProperty(columnName).Name;
var matches = context.data
.Where(p => p.propertyInfo == valToMatch);
result.AddRange(matches.Select(t => t.Key));
}
return result;
}
這種方法顯然行不通,那么我該怎么做? 我正在使用SqlLite,因此給出的某些答案不適用。 整個問題是錯誤地使用propertyInfo。
我嘗試了各種不同的方法,但沒有成功。
這個問題不是重復的,因為建議的問題及其答案沒有太大幫助。 我希望這個問題可以重開。 我想分享自己的答案。
ToString()方法無法轉換為相關的SQL。
嘗試使用SqlFunctions.StringConvert(valToMatch)而不是valToMatch.ToString()
.ToString()
在Linq查詢中不起作用。
安裝.ToString()函數使用以下代碼
SqlFunctions.StringConvert()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.