2014-10-09 4 views
3

Я использую VS 2010 с .Net версии 4.0 и EF версии 5 с существующей базой данных. Это мой первый проект с использованием EF, и я борюсь с отношениями сущностей. У меня есть база данных, которая имеет две таблицы, которые настроены что-то вроде этого:Отношения структуры сущностей по непервичным ключам

Table Keys

Я просто хочу, чтобы присоединиться к ним в EF как отношение один-ко-многим присоединился на PART_SEQ_ID в одиночку, так что я могу использовать LINQ для запроса. Когда я делаю присоединение к представлению модели, EF добавляет другие ключевые поля к соединению и догадывается в связанных полях. Если я не присоединиться к таблицам, я получаю сообщение об ошибке

Проблемы в фрагментах отображения, начиная с линией 294: Нет отображение, указанное для свойств

и

Проблемных фрагментарно отображения начиная с строки 254: Потенциальное нарушение времени выполнения таблицы PARTDETAILS ключи

Я что-то не так? Я нашел this SO post, который указывает, что это может быть невозможно. Если это невозможно, каков наилучший способ справиться с такими ситуациями?

ответ

2

Я не думаю, что вы собираетесь использовать навигаторы для работы с вашей схемой, как есть. Либо вы бы изменить схему таким образом, что каждая таблица имеет уникальный, неизменяемый, один столбец первичного ключа, или вы бы управлять стыки в запросе:

from detail in partdetails 
join part in parts on detail.part_seq_id equals part.part_seq_id... 

Обратите внимание на сгенерированного SQL и посмотреть на вашу выполнение планируйте, чтобы у вас были необходимые индексы для эффективной разработки вашей композиции.

+0

Спасибо @WinstonWolfIT. Итак, я должен иметь возможность добавлять объекты в файл edmx без каких-либо объединений и выполнять объединения в LINQ? – mack

+0

Это правильно. –

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