Отображение таблиц ассоциаций в коде EF 4.1 первым

Я не уверен, как сопоставить следующие таблицы ниже вEF 4.1 code first и какие объекты мне нужны для представления таблиц. Как я могу получить список характеристик продукта?

В настоящее время у меня есть толькоProduct класс.

Products Table:
Id
Name
IsActive

ProductSpecification Table:
ProductId
SpecificationId

Specifications Table:
Id
Name
IsActive

ProductSpecifications таблица ассоциаций У меня также есть следующее, определенное в моем классе контекста:

public DbSet<Product> Products { get; set; }

РЕДАКТИРОВАТЬ

Пожалуйста, смотрите мой обновленный оригинальный пост. Я изменил Id таблицы продуктов и спецификаций.

В моем классе контекста у меня есть следующее:

public DbSet<Product> Products { get; set; }
public DbSet<Specification> Specifications { get; set; }

В моем хранилище у меня есть следующее:

public Product GetById(int id)
{
     return db.Products
          .Include("Specifications")
          .SingleOrDefault(x => x.Id == id);
}

мойProduct class (Частичные):

public class Product : IEntity
{
     public int Id { get; set; }
     public string Name { get; set; }
     public bool IsActive { get; set; }
     public ICollection<Specification> Specifications { get; set; }
}

мойSpecification class:

public class Specification : IEntity
{
     public int Id { get; set; }
     public string Name { get; set; }
     public bool IsActive { get; set; }
     public ICollection<Product> Products { get; set; }
}

Это было все, что я сделал из ответа Слаумы. Я не делал сопоставление вручную, как он сказал, что я должен, но сначала я должен понять следующее:

Учитывая мои классы и таблицы сверху, что конкретно указано в соглашениях об именах EF 4.1 о том, как он обрабатывает таблицы ассоциаций? Причина, по которой я спрашиваю, заключается в том, что я получаю следующую ошибку в моем методе GetById:

Invalid object name 'dbo.SpecificationProducts'.

РЕДАКТИРОВАТЬ 2

Я забыл упомянуть следующее :) В качестве значения продукта может использоваться высота спецификации. И для этой высоты мне нужно указать значение. Как 100 дюймов. Поэтому я изменил таблицу ProductSpecifications, чтобы столбец значений называлсяSpecificationValue, этот столбец будет содержать значение 100 дюймов. Как бы я изменил код, чтобы получить это значение? Мне нужно отобразить это на мой взгляд.

Ответы на вопрос(1)

Ваш ответ на вопрос