【发布时间】:2009-01-31 04:06:25
【问题描述】:
我有一个非常大的问题来解决这个问题 我有两张桌子
第一个表是: 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 对您来说很简单,请尝试解决这个问题? 有什么问题吗?
【问题讨论】: