データベースにCompany
とEmployee
の2つのモデルがあります(1社は多くの従業員を持つことができます)。1対多のクエリ、Linq、Entity Framework
私は従業員とその企業のリストを取得し、すべての従業員情報や関連会社へのアクセス権を持っている(人は私の従業員のモデルである[テーブルの人々と呼ばれている]、会社 - 会社のモデル)にしたい
だから私は書きました:
List<Person> people = new List<Person>();
using (var db = new DataContext())
{
var list_of_people = db.People;
foreach (Person p in list_of_people)
{
people.Add(p);
}
}
は、今私はPerson
オブジェクトのリストを持っているが、それは会社名についての情報を持っていません。
従業員とその会社のリストを取得する方法を教えてもらえますか?
そのクエリは何を返しますか? DbSet
?より慣用的に
public class Person
{
public Person()
{
}
public int PersonId { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string Job { get; set; }
public int Phone { get; set; }
public int Mobile { get; set; }
public Company Company { get; set; }
}
public class Company
{
public Company()
{
}
public int Id { get; set; }
public string Name { get; set; }
public int NIP { get; set; }
public string Address { get; set; }
public string City { get; set; }
public int Code { get; set; }
public int Phone { get; set; }
public string Notes { get; set; }
public ICollection<Person> Person { get; set; }
}
はあなたが人々のモデルを表示することができます:あなたが反復したい場合は今
:あなたはナビゲーションプロパティを持っているので、非常に簡単です人々と自分の会社の?最初にコードを使用するのかデザイナーを使用しますか? –
あなたのモデルが正しいと仮定すると、 'var people = db.People.Include(p => p.Company).ToList();'を実行することができます。 –
こんにちは、遅い回答をおかけして申し訳ありません: 私はEFを使用してデータベースを作成しました。最初のコードはコードです(私はPythonのdjangoフレームワークを使用しています)。 前の投稿を編集して自分のモデルを表示しました。 –