2009-08-14 5 views
1

Если у меня есть два бизнес-объекта со связанным полем (внешний ключ CountryId), как мне отобразить имя страны вместо CountryId, когда я показываю список класса сотрудника?Внешний ключ в связанных бизнес-объектах

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

Спасибо, выглядит как самый простой способ добиться этого. Я собирался создать экземпляр класса Country в классе Employee, но опция linq выглядит намного проще! –

0

Если вы используете ORM, то большинство из них позволяют вам ориентироваться в отношениях, чтобы получить название стран и любые другие свойства страны.

В терминах базы данных это потребует объединения.

 Смежные вопросы

  • Нет связанных вопросов^_^