2015-05-19 5 views
-1

Мне нужно создать список из двух (или более) таблиц (я использую SQL-сервер). Мой проект об аренде квартир.создание списка из нескольких таблиц

я есть таблица Владелец:

[OwnerID]  INT  IDENTITY (1, 1) NOT NULL, 
[Name]  NVARCHAR (50) NOT NULL, 
[Username] NVARCHAR (50) NOT NULL, 
[Password] NVARCHAR (50) NOT NULL, 
[Phone]  NVARCHAR (50) NOT NULL, 
[Mail]  NVARCHAR (50) NOT NULL, 
[Description] NVARCHAR (50) NOT NULL, 
[Image]  IMAGE   NULL, 

И у меня есть таблица квартиры:

[ApartmentID]  INT   NOT NULL, 
[Address]   NVARCHAR (50) NOT NULL, 
[OwnerID]   INT   NULL, 
[AgentID]   INT   NULL, 
[apartmentTypeID] INT   NOT NULL, 
[Floor]   INT   NOT NULL, 
[Rooms]   INT   NOT NULL, 
[AgencyFees]  INT   NULL, 
[Immediately]  INT   NOT NULL, 
[DateOfEntrance] DATETIME  NULL, 
[Price]   INT   NOT NULL, 
[Description]  NVARCHAR (50) NOT NULL, 
[Image]   IMAGE   NULL, 
[CityID]   INT   NOT NULL, 

Я хочу, чтобы показать данные таблицы Квартиры в ListView, но вместо поля «ownerID», я хочу показать имя ownerName из таблицы Owner. Я понимаю, что мне нужно использовать linq здесь как-то ...

Если кто-то может показать мне, как это сделать, я буду этому благодарен :-) Спасибо!

ответ

2

рассмотреть вопрос об объединении этих двух таблиц, как проверить этот запрос,

SELECT 
t1.[ApartmentID], 
t1.[Address], 
t2.[Name], 
t1.[AgentID], 
t1.[apartmentTypeID], 
t1.[Floor], 
t1.[Rooms], 
t1.[AgencyFees], 
t1.[Immediately], 
t1.[DateOfEntrance], 
t1.[Price], 
t1.[Description], 
t1.[Image], 
t1.[CityID] 
FROM 
Apartment AS t1 INNER JOIN Owner AS t2 
ON t1.[OwnerID]=t2.[OwnerID]; 

Вот LINQ,

var q = (from t1 in Apartment join t2 in Owner on t1.OwnerID equals t2.OwnerID 
select new { 
    t1.ApartmentID, 
    t1.Address, 
    t2.Name, 
    t1.AgentID, 
    t1.apartmentTypeID, 
    t1.Floor, 
    t1.Rooms, 
    t1.AgencyFees, 
    t1.Immediately, 
    t1.DateOfEntrance, 
    t1.Price, 
    t1.Description, 
    t1.Image, 
    t1.CityID 
}).ToList(); 

Надеется, что это помогает, спасибо.

+0

Спасибо за ответ. – adi5765

+0

Спасибо за ответ. У меня есть еще 2 вопроса: 1. Как я могу поместить это в список? Когда я просмотрел список из одной таблицы, я использовал источник данных объекта ... 2. Я использую модель слоев: DAL, BLBackend, BLFrontend, PL. Когда я хотел использовать только таблицу Apartment, я сделал linq в BLBackend: DataLayer dal = new DataLayer(); var ls = from a in dal.ReadApartments() где (a.City.CityID == CityID || CityID == -1) ..... выбрать a; Список list = ls.ToList (); возвратный лист; Как я могу это сделать сейчас? – adi5765

+0

См. Обновленный ответ. – BabyDuck

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