의 내가 세 개의 테이블이 있다고 가정 해 봅시다 : UserSettingLinq에 - 투 - SQL 표 합체는
ID | Name | Default ========================= 1 | SettingA | ADefault ------------------------- 2 | SettingB | BDefault -------------------------
그리고
설정
사용자
ID | Name =========== 1 | UserA ----------- 2 | UserB -----------
을
UserID | SettingID | Value ================================ 1 | 1 | Alice -------------------------------- 1 | 2 | Bob -------------------------------- 2 | 1 | AOverride --------------------------------
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 | AOverride 2 | BDefault
, user.UserSettings는이 값을 포함합니다 구체적으로 재정의되었으므로 반환 될 것입니다.
1 | AOverride
아이디어가 있으십니까? 더 많은 담당자와 함께 누군가가 나를 바꿀 수 있도록 도와 주시겠습니까? 아마도 명확하지 않을 수 있습니다. :)
완벽하게 작동했습니다. 내가 도왔다 고 생각했던 작은 조정 하나를 만들었습니다.linq 쿼리에서 IsDefault를 설정하는 대신 SettingValue에서 get은 (Setting.Default == Value)를 반환합니다. – jerhinesmith