我有一個非常大的問題,解決這一問題 我有2個表複雜的查詢C#
第一個表是: http://lh3.ggpht.com/_uMvfbnPHuko/SYPJQ1ZsBDI/AAAAAAAAAKs/eq49xquy3jM/s800/Untitled-2.jpg
其中包含一個模塊(ID和名稱)
第二張表是 http://lh6.ggpht.com/_uMvfbnPHuko/SYPJQ4IXGwI/AAAAAAAAAK0/zmTIO6V-UEQ/s800/Untitled-3.jpg
其中包含用戶ID及其首選模塊的號碼
現在讓移動到問題 我要生成複選框列表
例如對於具有以下模塊「3,2和4」 用戶ID 1的結果將是
http://lh4.ggpht.com/_uMvfbnPHuko/SYPJQ_LJeVI/AAAAAAAAAK8/6RV8a1S8eCY/s800/Untitled-4.jpg
通知說:「爲您推薦」複選框沒有被選中,因爲用戶1不具有模塊ID「1」
我花了很長時間試圖解決這個問題,使用C#和LINQ
看到我的努力:)(下面的代碼不工作)
var q = from m in db.modules
from um in db.usersModules.Where(um2 => um2.userId == myUserId).Single().modules.Trim().Split(',')
where um.Contains(m.moduleId.ToString())
select new
{
moduleid = here i want the module id from modules table
modulename = here i want the modulename from modules table
ischecked = here i want "true" or "false" depending on if the user has this module or not
};
如果LINQ是容易的結果,你請儘量解決這個問題呢? 有什麼問題嗎?
我同意你的觀點,但我選擇了這個數據庫模型能夠爲每個用戶存儲模塊的順序 ,例如用戶1具有此順序的模塊3,2,4 – ahmed 2009-01-31 04:31:38
@ahmed:您仍然可以存儲順序,您只需在映射表中有另一列按順序排列並按照升序排列。 – casperOne 2009-02-03 18:41:53