我正在使用LINQ/C#並試圖從函數返回查詢的結果。我有什麼是低於和不工作。有什麼建議麼?我知道這應該進入我的模型,但一次一步。當我能做到這一點時,我會轉向模型。如何正確返回一個函數中的LINQ查詢?
目前我在button1_Click中的Listbox只返回表名。示例Table1.Table2。
public IQueryable runDBQuery()
{
Variables obj = new Variables();
var urlList = from SURL in db.SteamURLs
where obj.UserID == SURL.uID
select SURL;
dataGridView1.DataSource = urlList;
return urlList;
}
private void button1_Click(object sender, EventArgs e)
{
var urlList = runDBQuery();
// This doesn't work?
listBox1.DataSource = urlList;
}
答:
public IList<SteamURL> runDBQuery()
{
Variables obj = new Variables();
var query = from SURL in db.SteamURLs
where obj.UserID == SURL.uID
select SURL;
var urlList = query.ToList();
dataGridView1.DataSource = urlList;
urlList.ToList();
return urlList;
}
private void button1_Click(object sender, EventArgs e)
{
var urlList = runDBQuery();
// This doesn't work?
listBox1.DataSource = urlList;
listBox1.DisplayMember = "itemURL";
}
「不起作用」。爲什麼不?另外..'IQueryable'被推遲..你真的應該返回'IList' /'IEnumerable'並且在查詢中調用'.ToList()'。 –
當我嘗試將它放入我的列表框時,它不起作用。列表框只是給了我表格的字符串。 SteamFetch.SteamURL .....我編輯了上述 – allencoded
你是什麼意思,它給你「表中的字符串」?表名?你*選擇整個實體'StreamURL' - 不是其中的一列。你確定這就是你想要做的?而不是'選擇SURL.YourColumn'? –