Запрос данных с использованием LINQ to SQL и Entity Framework с внешним ключом? - PullRequest
0 голосов
/ 28 мая 2010

Есть проблема, мне нужна помощь с вашим запросом к данным с использованием LINQ to SQL и Entity Framework (я использую Visual Studio 2010).

У меня есть три таблицы:

  1. tblNewsDetails
  2. tblNewsCategories
  3. tblNewsInCategories

(См. Фото 1 на рисунке ниже.)

Теперь я хочу получить записи в таблице tblNewsDetails с условием CategoryId=1, как показано на фото 2 на рисунке ниже.

Но NewsID и CategoryId в таблице tblNewsInCategories - это два внешних ключа. Я их не вижу и не знаю, как использовать их в своем коде.

Также в моем коде есть ошибки, показанные на фото 3 на рисунке ниже.

http://img.tamtay.vn/files/photo2/2010/5/28/10/962/4bff3a3b_1093f58f_untitled-1.gif

1 Ответ

1 голос
/ 28 мая 2010

Возможна пара подходов, вот один из них

from n in tblNewsInCategories.Include("NewsCategory").Include("NewsDetail")
where n.NewsCategory.CategoryID == 1
select n.NewsDetail

помните, что n (и b, в вашем примере) являются сущностями TblNewsInCategories, которые, вероятно, имеют следующие свойства:

{
    public int NewsInCategories { get; set; } // your middle table primary key
    public TblNewsCategory NewsCategory { get; set; } // a navigation property
    public TblNewsDetails NewsDetail { get; set; } // a navigation property
}

поэтому, чтобы получить доступ к NewsId и CategoryId, вам нужно пройти через свойства навигации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...