У меня есть таблица Product с полями типа:
public class Product {
public int ID {get;set;}
...
}
и таблица, объединяющая товары с другими товарами типа «перекрестная продажа» (например, предметы):
public class CrossSell {
public int ProductID {get;set;}
public int CrossSellID {get;set;}
}
Мое намерение состоит в том, чтобы, учитывая любой продукт, получить список продуктов перекрестной продажи.
Entity Framework 4 (второе издание EF) берет эти таблицы и создает отношение Product и Product1, где линия, соединяющая таблицу, называется CrossSell.
То, что я хочу иметь:
public class Product {
public int ID {get;set;}
...
public IList<Product> CrossSells {get;set;}
}
EF создал это:
public class Product {
public int ID {get;set;}
...
public IList<Product> Products {get;set;}
public IList<Product> Products1 {get;set;}
}
Могу ли я просто удалить второй Список с именем Products1, переименовать первый в "CrossSells" и сделать все это просто волшебным образом? Стоит ли переделывать таблицы SQL по-другому, чтобы EF лучше понимал мои намерения? Как будут выглядеть эти таблицы SQL, если в одном продукте может быть несколько позиций перекрестных продаж?
EDIT:
Что я действительно ищу, так это способ представления элементов CrossSell в EF без циклической ссылки. Прямо сейчас, Продукт относится к другим продуктам, которые, в свою очередь, относятся к другим продуктам, которые в свою очередь ...