powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SQL CE миграции и каскадное удаление
2 сообщений из 2, страница 1 из 1
SQL CE миграции и каскадное удаление
    #38614004
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Не получается организовать каскадное удаление.
Если 3 класса (таблицы в бд). Всякие FK установлены.
Customer - CustomerLanguage - CustomerLanguageDocument.
Отношения 1:n и 1:n соответственно.

Код: 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.
public class Customer : IDbIdentity {
		public Customer() {
			CustomerLanguages = new HashSet<CustomerLanguage>();
		}

		#region [ IDbIdentity members ]

		public Guid Id { get; set; }

		#endregion

		public string Name { get; set; }
		public string Number { get; set; }
		public Guid? ParentId { get; set; }

		#region [ navigation ]

		public virtual ICollection<CustomerLanguage> CustomerLanguages { get; set; }

		#endregion
	}

public class CustomerLanguage : IDbIdentity {
		public CustomerLanguage() {
			CustomerLanguageDocuments = new HashSet<CustomerLanguageDocument>();
		}

		#region [ IDbIdentity members ]

		public Guid Id { get; set; }

		#endregion

		#region [ navigation ]

		public Guid CustomerId { get; set; }
		public virtual Customer Customer { get; set; }

		public virtual ICollection<CustomerLanguageDocument> CustomerLanguageDocuments { get; set; }

		#endregion
	}



Моя попытка выглядит так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public partial class PDFCEntities : DbContext {
		public PDFCEntities()
			: base("PDFCEntities") {
		}

public DbSet<Customer> Customers { get; set; }
		public DbSet<CustomerLanguage> CustomerLanguages { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity<CustomerLanguageDocument>()
                .HasRequired(s => s.CustomerLanguage)
                .WithMany()
                .WillCascadeOnDelete(true);

            modelBuilder.Entity<CustomerLanguage>()
                .HasRequired(s => s.Customer)
                .WithMany()
                .WillCascadeOnDelete(true);
        }
	}



С WillCascadeOnDelete(true) у меня удаляется кастомер, но не языки
С WillCascadeOnDelete(false) у меня не удаляется ничего

Это мой вопрос на стековерфлоу
http://stackoverflow.com/questions/23016617/sql-server-ce-migration-cascade-delete-doesnt-work
где никто ничего не подсказал

Спасибо
...
Рейтинг: 0 / 0
SQL CE миграции и каскадное удаление
    #38614050
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SQL CE миграции и каскадное удаление
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]