2012-06-28 3 views
0

Для моего приложения wpf, использующего сущность framework, мне нужно добавить свойство entity в один из классов сущности. Пример: иметь отношение много-много, с двумя таблицами и таблицей джитса.Добавление свойства в класс рамки сущности

Клиент: ID, имя, адрес. продукт: ID, имя

CustomerProduct: CustomerID, ProductID

Я пытаюсь добавить к моим автогенерируемой объект класса данных Cutomer, свойство colProducts следующим образом:

public partial class Customer 
{ 
    public Products colProducts; 
    public Products ColProducts 
    { 
     get { return colProducts; } 
     set 
     { 
      colProducts = ???? 
     } 
    } 

} 

Но я считаю, отношение отсутствует. Что здесь не так? как я могу получить Продукты, связанные с клиентом. Я делаю это, чтобы облегчить привязку данных wpf.

ответ

0

Во-первых, Entity создаст эти ассоциации, если они существуют в базе данных (Foreign Key или many-to-many). Если у вас есть контроль над базой данных, вы должны это сделать. Это проще, чем метод ручной сущности, и помогает базе данных оставаться в силе.

Если вы не можете или не хотите, вы можете вручную создавать ассоциации сущностей. Эти шаги from here

  1. В EF дизайнеру выбрать любой из двух объектов и выберите «Добавить ассоциации» опцию в меню правой кнопкой мыши.
  2. Укажите кратность на каждой стороне надлежащим образом и создать ассоциацию
  3. Выберите ассоциацию и выберите «Таблица Mapping» вариант
  4. Теперь выберите таблицу, содержащую столбец внешнего ключа т.е. сообщения
  5. В списке столбцов он будет показать первичный ключ ссылочной таблицы рядом с ней выбрать соответствующий внешний ключ, т.е. ConversationId в нашем случае
  6. Удалить ключевое свойство иностранного из ссылающейся сущности, т.е. свойство ConversationId в сообщениях Entity
+0

Спасибо за ответ, у меня уже есть связь с CustomerProducts, но я хочу переопределить класс сущности, добавив атрибуты продуктов. Чтобы я мог иметь его под одним классом. Является ли это возможным ? – maran87

+0

Да, но это не очень хорошая идея. Вы должны использовать свойства навигации в контексте или использовать 'Include()' во время запроса, чтобы убедиться, что они загружаются. – Tyrsius

0

EF должен генерировать правильное отношение «многие ко многим», если CustomerID и ProductID образуют составной первичный ключ для таблицы CustomerProduct.

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