2012-02-01 2 views
0

У меня есть два объекта CUSTOMER и ORDER..от отношений от CUSTOMER к ORDER, где CustomerID является первичным ключом для клиента и внешнего ключа в ORDER. Теперь я хочу добавить свойство имени клиента из объекта CUSTOMER в объекте ORDER ... Я скопировал это свойство и вставил его в таблицу ORDER и добавил таблицу CUSTOMER и сопоставлял это свойство с тем же свойством таблицы CUSTOMER .. но когда я пытаюсь проверить его vs дает мне ошибку,Entity framework Association в концептуальной модели для отношения одного к большому числу

3024: Проблема в фрагментов отображения, начиная со строки 239: Необходимо указать отображение для всех ключевых свойств (ORDER.OrderID) Приказа EntitySet

ответ

0

Это невозможно при сопоставлении. Вы не можете добавить свойство из таблицы Customer в Order объект таким образом. Сопоставление свойств из нескольких таблиц с одним и тем же объектом имеет очень строгие правила, и это невозможно для этого случая.

Вы можете указать имя клиента в своем классе заказа, не определяя его при сопоставлении. Создать частичную часть Order класса и добавить пользовательский вычисленное свойство (не отображается):

public partial class Order 
{ 
    public string CustomerName 
    { 
     get 
     { 
      // Customer is navigation property to Customer entity 
      return Customer.Name; 
     } 
    } 
} 

Это потребует загрузки Customer с вашим Order (нетерпеливой загрузкой) или с помощью отложенной загрузки. Также это свойство не может использоваться в запросах Linq-to-entities.

+0

большое спасибо за ваш ответ ... я думаю, вы рассказываете о кодовом подходе ... но я делаю базовый подход к базе данных и пытаюсь сделать это в дизайнерском режиме ... если нет никакого решения это в db, в первую очередь, для первого кода – Anup

+0

Нет. Я также описываю первый подход к базе данных. Дизайнер не предназначен для определения всех необходимых вам свойств в ваших классах. Дизайнер предназначен только для определения отображения, а отображение имеет свои строгие правила, которые вы нарушили, определяя свойство в сущности 'Order', которая не сопоставляется с таблицей« Заказы ». –

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