Неправильный порядок записи данных в SQL. NET.CORE, EF Core

Всем привет ! Помогите, решить проблему - при записи данных в SQL не соблюдается порядок строк, проблема представлено на рисунке 1.Рисунок 1 Код контроллера:

public IActionResult Contact(int VariantId = 1)
    {
        ViewData["Message"] = "Исходные данные";

        IndexViewModel model = new IndexViewModel();

        Variants variant = _dcContext.Variants.FirstOrDefault(x => x.VariantId == VariantId);

        if (variant is null)
        {
            // По умолчанию вариант
            variant = _dcContext.Variants.OrderBy(x => x.VariantId).FirstOrDefault();
        }

        // Вариантов нет - создать
        if (variant is null)
        {
            CreateDefaultVariant();
            variant = _dcContext.Variants.FirstOrDefault();
        }
        _dcContext.SaveChanges();

        List<Year_1> Year_1 = _dcContext.Year_1.Where(x => x.VariantId == variant.VariantId).ToList();
        List<Year_2> Year_2 = _dcContext.Year_2.Where(x => x.VariantId == variant.VariantId).ToList();
        List<Year_3> Year_3 = _dcContext.Year_3.Where(x => x.VariantId == variant.VariantId).ToList();
        List<Year_4> Year_4 = _dcContext.Year_4.Where(x => x.VariantId == variant.VariantId).ToList();
        List<YearPlan_1> YearPlan_1 = _dcContext.YearPlan_1.Where(x => x.VariantId == variant.VariantId).ToList();
        List<YearPlan_2> YearPlan_2 = _dcContext.YearPlan_2.Where(x => x.VariantId == variant.VariantId).ToList();
        List<YearPlan_3> YearPlan_3 = _dcContext.YearPlan_3.Where(x => x.VariantId == variant.VariantId).ToList();

        model.CurrentVariantId = VariantId;
        model.Variants = _dcContext.Variants.ToList();

        model.Data.Year_1 = Year_1;
        model.Data.Year_2 = Year_2;
        model.Data.Year_3 = Year_3;
        model.Data.Year_4 = Year_4;
        model.Data.YearPlan_1 = YearPlan_1;
        model.Data.YearPlan_2 = YearPlan_2;
        model.Data.YearPlan_3 = YearPlan_3;

        return View(model);
    }
private void CreateDefaultVariant()
    {
        Variants v = DefaultData.SetDefaultVariant();
        List<Year_1> s = DefaultData.SetDedaultYear1();
        List<Year_2> k = DefaultData.SetDedaultYear2();
        List<Year_3> w = DefaultData.SetDedaultYear3();
        List<Year_4> e = DefaultData.SetDedaultYear4();
        List<YearPlan_1> r = DefaultData.SetDedaultYearPlan1();
        List<YearPlan_2> t = DefaultData.SetDedaultYearPlan2();
        List<YearPlan_3> y = DefaultData.SetDedaultYearPlan3();

        CreateVariant(v, s, k, w, e, r, t, y);
    }

private void CreateVariant(Variants variant, List<Year_1> Year_1, List<Year_2> Year_2, List<Year_3> Year_3, List<Year_4> Year_4, List<YearPlan_1> YearPlan_1, List<YearPlan_2> YearPlan_2, List<YearPlan_3> YearPlan_3)

    {

        _dcContext.Variants.Add(variant);
        _dcContext.SaveChanges();

        foreach (Year_1 _Year_1 in Year_1)
        {
            _Year_1.VariantId = variant.VariantId;
        }

        foreach (Year_2 _Year_2 in Year_2)
        {
            _Year_2.VariantId = variant.VariantId;
        }

        foreach (Year_3 _Year_3 in Year_3)
        {
            _Year_3.VariantId = variant.VariantId;
        }

        foreach (Year_4 _Year_4 in Year_4)
        {
            _Year_4.VariantId = variant.VariantId;
        }

        foreach (YearPlan_1 _YearPlan_1 in YearPlan_1)
        {
            _YearPlan_1.VariantId = variant.VariantId;
        }

        foreach (YearPlan_2 _YearPlan_2 in YearPlan_2)
        {
            _YearPlan_2.VariantId = variant.VariantId;
        }

        foreach (YearPlan_3 _YearPlan_3 in YearPlan_3)
        {
            _YearPlan_3.VariantId = variant.VariantId;
        }

        _dcContext.Year_1.AddRange(Year_1);
        _dcContext.Year_2.AddRange(Year_2);
        _dcContext.Year_3.AddRange(Year_3);
        _dcContext.Year_4.AddRange(Year_4);
        _dcContext.YearPlan_1.AddRange(YearPlan_1);
        _dcContext.YearPlan_2.AddRange(YearPlan_2);
        _dcContext.YearPlan_3.AddRange(YearPlan_3);

        _dcContext.SaveChanges();
    }

Ссылка на проект


Ответы (0 шт):