Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 3
Регистрация: 24.04.2012
Сообщений: 29
1

Entity Framework Перенос данных из старой БД в нормализованную новую БД

26.12.2014, 08:12. Показов 813. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток!

Сейчас пишу тестовое приложение для переноса данных из старой бд в нормализированную новую БД.

Использую EF6, MSSQL.

Суть проблемы:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using System;
using System.Collections.Generic;
using System.Data.Entity.Validation;
using System.Linq;
using ModelLibrary;
using MySQLEntity;
 
namespace ConsoleApplication1
{
    class Program
    {
 
 
   
        static void Main(string[] args)
        {
 
            productionEntities oldEntities = new productionEntities();
            IEntities newEntities = new IEntities();
 
            IQueryable<incoming> all = from i in oldEntities.incoming where i.delete_inc == 1
                                       select i;
 
 
            Guid guidStages = new Guid("C62F2F7C-60B2-4D96-8E1E-87F8DA1CCE35");
            Guid guidTypes = new Guid("B94DAF2D-D826-4F51-9B7B-79CA2BAC4FD3");
            Random rnd = new Random();
 
            List<Categorie> catList = newEntities.Categories.ToList();
            
                foreach (incoming inc in all)
                {
                    int catrnd = rnd.Next(0, 4);
                    if (inc.date_inc != null)
                    {
                        if (inc.kaoutnum_inc != null)
                        {
                            if (inc.kaoutdate_inc != null)
                            {
 
                                Incomings incomings = new Incomings();
 
                                {
                                    incomings.Num = inc.num_inc;
                                    incomings.Date = (DateTime) inc.date_inc;
                                    incomings.Summary = inc.summary_inc;
                                    incomings.Stages = newEntities.Stages.SingleOrDefault(s => s.Id == guidStages);
                                    incomings.Types = newEntities.Types.SingleOrDefault(t => t.Id == guidTypes );
                                    incomings.Categories = catList[catrnd];
                                    incomings.OrgOutNum = inc.kaoutnum_inc;
                                    incomings.OrgOutDate = inc.kaoutdate_inc;
                                    incomings.DirMark = inc.gendirresol_inc;
                                }
                                newEntities.Incomings.Add(incomings);
                            }
                                
                        }
                    }
                        
                }
                   
                
           
 
           try
            {
                int changes = newEntities.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                        eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"",
                            ve.PropertyName,
                            eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName),
                            ve.ErrorMessage);
                    }
                }
                Console.ReadKey();
            }
 
 
 
            
            Console.ReadKey();
        }
 
 
    }
}
При выполнении вызывает Эксепшн
Кликните здесь для просмотра всего текста

An unhandled exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll

Additional information: Entities in 'IEntities.Documents' participate in the 'DocumentsStages' relationship. 0 related 'Stages' were found. 1 'Stages' is expected.


Модель в которую переносим данные:
Миниатюры
Entity Framework Перенос данных из старой БД в нормализованную новую БД  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2014, 08:12
Ответы с готовыми решениями:

В чем разница между Entity Framework и Entity Framework Core?
В чем разница (если она есть) между entity framework и entity framework core?

Перенос данных из старой БД в новую, все таблицы разные
Здравствуйте! В процессе переделки базы задался вопросом, как же перенести данные старой БД, в...

Автообновление данных с Entity Framework
В составе C# и MSSQL пишу многопользовательскую программу (по сути простой учёт продукции на...

Обновление данных в Entity Framework
Всем привет, помогите пожалуйста. вот есть такой код testentityEntities creat = new...

0
26.12.2014, 08:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2014, 08:12
Помогаю со студенческими работами здесь

Копирование база данных. Entity Framework
Привет, есть удалённая база данных, есть локальная. Локальная база данных служит исключительно...

Entity Framework и загрузка данных в БД SQL CE
Доброго времени суток! Использую Entity Framework Code First и бд SQL CE 4.0. Пытаюсь прочитать...

Entity Framework 6 описание модели данных
Добрый день. Описываю модель данных в базе. Необходимо указать имя таблицы существующей базы...

Entity Framework + Repository, обновление данных
Всем привет, помогите пожалуйста разобраться, вопрос по сути простой. Имеем Entity Framework и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru