Соединительная таблица с дополнительными столбцами полезной нагрузки в EF4 CTP4 Code First - PullRequest
2 голосов
/ 02 декабря 2010

У меня есть следующие таблицы:

WOPartList (определяет части, которые имеют 1 или более Part_Size) WOPartSize (определяет размеры, которые имеют 1 или более Part_Size)

Part_Size (таблица соединений как полезная нагрузка addtтакие столбцы, как sku, on_hand и т. д.)

Вот классы POCO для DAL:

    // Real World Scenario:

    // PartList                Related to Part_Size     Related to PartSize  
    //
    // #8 Stainless Lag Bolt   sku- 87234018            size- 2 x 1/2  
    //                         on hand- 214 
    //                         on order- 12 

    // #8 Stainless Lag Bolt   sku- 87234199            size- 3 x 1/2  
    //                         on hand- 81 
    //                         on order- 18 


    // #10 Stainless Lag Bolt  sku- 87237835            size- 1 x 1/2  
    //                         on hand- 11 
    //                         on order- 14 

    // #10 Stainless Lag Bolt  sku- 87237835            size- 2 x 1/2  
    //                         on hand- 11 
    //                         on order- 14 

    // #10 Stainless Lag Bolt  sku- 87237835            size- 3 x 1/2  
    //                         on hand- 11 
    //                         on order- 14 

    // So the idea is to be able to create a size once and use it many times
    // for many different parts... But I need to keep specific statistics for
    // each size of a part...

    // How do I tell the Model that Part_Size is a many-to-many junction table
    // between WOPartSize and WOPartsList as well ?


public class WOPartSize
{

    public int WOPartSizeId { get; set; }
    public DateTime tadded { get; set; }
    public string size { get; set; }

    // Nav Collections
    public virtual ICollection<Part_Size> Parts { get; set; }

}


public class Part_Size   // Junction Table
{
    public int WOPartSizeMMId { get; set; }

    public string part_no { get; set; }
    public string part_descr { get; set; }
    public string sku { get; set; }
    public decimal cost_each { get; set; }
    public decimal price_each { get; set; }
    public int on_hand { get; set; }
    public int on_trucks { get; set; }
    public int on_order { get; set; }

    // Put ICollections<> here ?

}

public class WOPartsList
{

    public int WOPartsListId { get; set; }
    public DateTime tadded { get; set; }
    public string part_descr { get; set; }

    // Nav References
    public virtual WOPartType PartType { get; set; }
    public int WOPartTypeId { get; set; }

    public virtual ICollection<Part_Size> Sizes { get; set; }

}

Как настроить таблицу соединений?Аннотации?Свободный API?Моя главная проблема заключается в получении дополнительных полей полезной нагрузки в соединительной таблице ... В противном случае я просто позволю EF сгенерировать для себя таблицу и иметь класс NO POCO ...

...