![](/img/trans.png)
[英]How to retrieve values from database and row in gridview based on rows in table?
[英]How to retrieve data from table “a” based on different values in table “b”
var c = from p in db.Testings
where p.id == Convert.ToInt32(k)
select new{p.ItemId};`
上面的Linq返回包含不同ItemId的多個行。 現在,我試圖從Questions表中檢索所有行,其中包含我在上述linq中返回的所有ItemId。 不出所料,以下代碼無法正常工作。 任何人都可以通過這種邏輯幫助我,或者如果這是一個較小的邏輯錯誤,請更正我的代碼。
var cfk = from p in db.Questions
where p.ItemId == Convert.ToInt32(c)
select p;
GridView4.DataSource = cfk;
GridView4.DataBind();
就像是:
var cfk = from p in db.Questions
where c.Contains(p.ItemId)
select p;
根據您選擇的第二個變量名稱“ cfk”,我猜您已設置數據庫,使Questions.ItemId是Testings的外鍵,其中Testings.ItemId是Testings和Testings.id的主鍵其他非關鍵列。
如果是這樣,您可以說:
var cfk = db.Testings
.Where(t => t.id == k)
.SelectMany(t => t.Questions);
要么
var cfk = db.Questions
.Where(t => t.Testing.id == k);
如果沒有外鍵關系,則需要像其他人建議的那樣進行加入
var cfk = db.Testings
.Where(t => t.id == k)
.Join(db.Questions, t => t.ItemId, q => q.ItemId, (t, q) => q);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.