结合两个类的结果

时间:2015-06-10 07:01:45

标签: c# sql-server entity-framework-6

在下面的方法中,我正在制定产品代码( StockItem ):

    var qisg = new QuoteItemSectionGroup
    {
        SectionGroup = db.SectionGroups.Where(x => x.Name == "Longitudinals" && x.Section == TruckSection.Floor).First(),
        StockItem = quoteItem.BodyType.Longitudinal, <<--------
        Quantity = 2,
        Length = globals.FloorCalculatedLength
    };

我有两个类叫做: BodyType &amp; 底盘即可。两者都有一个名为纵向的列。

在上面的方法中,我已经计算出 BodyType.Longitudinal ,并将其设为我的 StockItem

StockItem = quoteItem.BodyType.Longitudinal,

问题是我必须同时将第二类 Chassis.Longitudinal =设置为 StockItem

StockItem = quoteItem.Chassis.Longitudinal,

示例:

StockItem = quoteItem.BodyType.Longitudinal + quoteItem.Chassis.Longitudinal,

有办法做到这一点吗?我只是展示了这个例子,因为我不知道该怎么做。

编辑:这是我为每个 StockItem

设置代码的地方

体形

context.BodyTypes.AddOrUpdate<BodyType>(x => x.Name,
    new BodyType { Name = "Corrugated", isFlatDeck = false, LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH105").First().Id });

底盘

context.Chassis.AddOrUpdate<Chassis>(x => x.Name,
    new Chassis { Name = "DAIHATSU DELTA V116", LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH100").First().Id });

1 个答案:

答案 0 :(得分:0)

据我了解您要实现的目标,无法在不更改QuoteItemSectionGroup课程的情况下完成。

您应该将StockItem修改为类似字典的内容。

StockItem<string, string>;  // You can decide on the data type.

然后像这样填写数据。

    var qisg = new QuoteItemSectionGroup
        {
            SectionGroup = db.SectionGroups.Where(x => x.Name == "Longitudinals" && x.Section == TruckSection.Floor).First(),
            StockItem.Add('BodyType.Longitudinal',quoteItem.BodyType.Longitudinal);
            StockItem.Add('Chassis.Longitudinal',quoteItem.Chassis.Longitudinal); <<--------
            Quantity = 2,
            Length = globals.FloorCalculatedLength
        };