【发布时间】:2009-04-14 20:34:09
【问题描述】:
假设我有三个表:
用户
身份证 |姓名 =========== 1 |用户A ------------ 2 |用户B ------------设置
身份证 |姓名 |默认 ========================== 1 |设置A | A默认 ------------------------- 2 |设置B | B默认 -------------------------和
用户设置
用户名 |设置ID |价值 ================================= 1 | 1 |爱丽丝 -------------------------------- 1 | 2 |鲍勃 -------------------------------- 2 | 1 | A覆盖 --------------------------------当我创建我的 dbml 文件时,它会根据数据库中设置的外键将用户适当地链接到 UserSetting 和 UserSetting 到 Setting。
我想知道的是,如果用户没有以有意义的方式明确覆盖该值,是否有可能从 UserSetting 合并回 Setting 表。
具体来说,我正在寻找以下伪代码:
var user = MyDataContext.Users.SingleOrDefault(u => u.ID == 2);
foreach(var setting in user.UserSettings)
{
Console.Writeline(setting.ID + "|" + setting.Value);
}
要输出如下内容:
1 | A覆盖 2 | B默认如果不修改,user.UserSettings 将只包含被明确覆盖的值,所以它只会返回:
1 | A覆盖有什么想法吗?或者有更多代表的人可以帮我改一下,因为它可能并不完全清楚? :)
【问题讨论】:
标签: c# linq-to-sql