2009-08-14 15 views
1

関連フィールド(外部キーCountryId)を持つ2つのビジネスオブジェクトがある場合、従業員クラスのリストを表示するとCountryIdの代わりにCountryNameを表示するにはどうすればよいですか?関連ビジネスオブジェクトの外部キー

public class Employee 
{ 
    public int Id { get; set; } 
    public string FirstName { get; set; } 
    public string FamilyName { get; set; } 
    public int CountryId { get; set; } 
} 

public class Country 
{ 
    public int Id { get; set; } 
    public string CountryName { get; set; } 
} 
+0

もっと具体的にする必要があります。 ASP.NET、WinForms、WPF、Silverlightまたは何ですか?ディスプレイなどにどのコンポーネントを使用するのですか? –

答えて

0

あなたは従業員のリストと、すべての国のリストを持っている場合は、あなたがそれらを結合し、必要なプロパティを持つ匿名オブジェクトを作成するためにLINQを使用することができます。

List<Employee> employees = // Get list of all employees 
List<Country> countries = // Get list of all countries 

var employeesWithCountryName = 
from e in employees 
join c in countries on e.CountryID = c.Id 
select new { 
    Id = e.Id, 
    FirstName = e.FirstName, 
    FamilyName = e.FamilyName, 
    CountryId = e.CountryId, 
    CountryName = c.CountryName 
} 
+0

ありがとう、これを実現する最も簡単な方法です。 Employeeクラス内でCountryクラスのインスタンスを作成しようとしていましたが、linqオプションはもっと簡単に見えます! –

0

を使用している場合ORMを使用すると、国の名前やその他の国のプロパティを取得するために、それらのほとんどが関係をナビゲートすることができます。

データベース用語では、結合が必要です。

関連する問題