Я использую LINQ и DataContext для возврата коллекции объектов из таблицы SQL Server. Таблица называется «Виджеты», и соответствующий класс C #, который я использую, показан ниже. Таблица Widgets содержит столбец Name и столбец TypeID, который является внешним ключом для другой таблицы типов виджетов.
[Table(Name = "Widgets")]
public Class Widget
{
[Column(Name = "Name")]
public String Name{get;set;}
[Column(Name = "TypeID")]
public int TypeID{get;set;}
}
Теперь я предпочел бы получить доступ к типу виджета по имени типа, а не по идентификатору, как показано ниже. Но имя типа происходит из другой таблицы, а не из Widget, WidgetTypes.
[Table(Name = "Widgets")]
public Class Widget
{
[Column(Name = "Name")]
public String Name{get;set;}
[Column(Name = "TypeID")]
public int TypeID{get;set;}
//NEW PROPERTY
public String TypeName(get;set;)
}
Есть ли способ выполнить JOIN с LINQ DataContext, который будет возвращать данные из нескольких таблиц в базе данных как один объект?
Обновление:
Вот мой DataContext
class WidgetsContext : DataContext
{
public WidgetsContext(string connection):base(connection)
{
}
public Table<Widget> Widgets;
public Table<WidgetType> WidgetTypes;
}