Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Корделия
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 28
1

Ошибка каскадных таблиц (Specify ON DELETE NO ACTION or ON UPDATE NO ACTION)

10.06.2015, 11:05. Просмотров 531. Ответов 1
Метки нет (Все метки)

Здравствуйте.

Возникла проблема с созданием таблицы. Ошибка в Package Manager Console
Introducing FOREIGN KEY constraint 'FK_dbo.Orders_dbo.Ticket_TicketId' on table 'Orders' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint. See previous errors.
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
   
    [System.ComponentModel.DataAnnotations.Schema.Table("Orders")]
    public class OrderEntity : IDbEntity
    {
 
        public int Id { get; set; }
 
        public int TicketId { get; set; }
 
        [ForeignKey("TicketId")]
        public TicketSetupEntity TicketSetup { get; set; }
 
        public int PerformerId { get; set; }
 
        [ForeignKey("PerformerId")]
        public UserEntity Performer { get; set; }
 
        public string Comment { get; set; }
 
    }
 
 public class TicketSetupEntity : AbstractTicketEntity
    {
 
        public int FacilityConsumerId { get; set; }
 
        [ForeignKey("FacilityConsumerId")]
        public FacilityConsumerEntity FacilityConsumer { get; set; }
 
 
    }
 
    [System.ComponentModel.DataAnnotations.Schema.Table("Ticket")]
    public abstract class AbstractTicketEntity : IDbEntity
    {
        public int Id { get; set; }
 
        public int TypeId { get; set; }
 
        [ForeignKey("TypeId")]
        public TicketTypeEntity Type { get; set; }
 
        public string Description { get; set; }
 
        public DateTime Created { get; set; }
 
        public int CreatorId { get; set; }
 
 
        [ForeignKey("CreatorId")]
        public UserEntity Creator { get; set; }
 
        public int? AssignedId { get; set; }
 
        [ForeignKey("AssignedId")]
        public UserEntity Assigned { get; set; }
 
    }
Почитав различные ссылке предположила что это происходит из за того что в классе OrderEntity есть свойство Performer а также TicketSetup и в свою очередь TicketSetup содержит тоже ссылку на ту же таблицу что и Performer. В рекомендациях было написано составить какие то ограничения каскадных таблиц.

добавила:
C#
1
2
3
 
modelBuilder.Entity<OrderEntity>().HasRequired(oo => oo.TicketSetup).WithMany().WillCascadeOnDelete(false);
modelBuilder.Entity<OrderEntity>().HasRequired(oo => oo.Performer).WithMany().WillCascadeOnDelete(false);
Но когда я так делаю вместо того чтобы просто ссылаться на имеющиеся записи в таблицах Tickets и Users создаются дублирующие записи. Помогите пожалуйста разобраться в ситуации.

Добавлено через 22 часа 23 минуты
Неужели никто не сталкивался с такой проблемой(((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2015, 11:05
Ответы с готовыми решениями:

Сделать INSERT/DELETE/UPDATE таблиц
Необходимо сделать INSERT/DELETE/UPDATE таблиц, но у меня не получается :( ...

Как расширить ссылку из Controller/Action/Id до Contr/Action/Category/Id ?
Здравствуйте, Дорогие форумчане! Давно не брался за ASP, поэтому задаю...

Ошибка 404 при запросе action
Установил yii2, через composer. Создал контроллер, екшн . Обращаюсь к нему...

Условие вне action-а -- это ошибка?
Возникает ошибка если екшен обгорнуть в условие--вот так. ...

Фрагмент ошибка cannot perform this action after onSaveInstanceState
Здравствуйте, в приложении для android использую фрагмент, вызываю его так:...

1
Корделия
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 28
18.06.2015, 15:13  [ТС] 2
Как оказалось проблема дублирующихся записей уже не связана с каскадами в таблице. как было подсказано в другом форуме. решение нашлось благодаря настройке автомаппера. полный вариант ответа на другом форуме


вопрос закрыт.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2015, 15:13

Ошибка при использовании action bar sherlock
Всем привет, недавно достался проект с action bar sherlock, нужно добавить...

Как организовать журналирование insert / update / delete для нескольких таблиц?
Используется MySQL - 5.7 - х64 Имеется несколько таблиц с...

VkNet ошибка при отправке сообщений: Permission to perform this action is denied
Делаю рассылку сообщений в вк среди друзей. Использую бибилотеку VkNet. ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru