私のデータベースには2つのテーブルがあります:
id | name | city | street
-------------------------------
1 | John | London | Street1
2 | Will | London | Street1
3 | Adam | LA | Street1
id | uid | phone
------------------
1 | 1| 12345
2 | 1| 23456
3 | 2| 16505
4 | 3| 65909
5 | 3| 68902
6 | 3| 15905
そのデータを選択してリスト(またはユーザーIDが一意であるため辞書)に保存する必要があります
私の uses クラスは次のようになります。
public class User
{
//lock
private static readonly object userLock = new object();
public int Id { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string Street { get; set; }
public List<string> Phones { get; private set; }
public User()
{
Phones = new List<string>();
}
public void AddPhone(string phone)
{
lock (userLock)
{
Phones.Add(phone);
}
}
}
アイデアは、これらのユーザー情報をアプリケーションにロードし、電話を追加/削除/変更し、変更/削除/追加されたものを保存することです。
ここで解決策のアイデアを見つけました: https://stackoverflow.com/a/11687743/965722、しかし、これは1つのクエリを実行してユーザーリストを取得し、ユーザーごとに個別のクエリを実行して電話を取得する必要があると想像しています。
ロードはどうすればいいですか?
1つのクエリだけでそれを行うことはできますか?
結果コレクションにデータを入力するにはどうすればよいですか?
リストまたは辞書を使用する必要がありますか? Id
次に、 User クラスから削除して、辞書内のキーとして使用できます。
私は .NET 3.5 を使用していますが、Entity Framework または ORM を避けたいと考えています。