powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF помогите пожалуйста настроить связи
6 сообщений из 6, страница 1 из 1
EF помогите пожалуйста настроить связи
    #39492829
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Помогите пожалуйста разобраться, что я не так делаю? Схема связи на картинке
Код: 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.
public class A
{
    public int Id { get; set; }
    public ICollection<AB> AB { get; set; }
}
public class AB
{
    public int AId { get; set; }
    public A A{ get; set; }
	
    public int BId { get; set; }
    public B B{ get; set; }
}
public class B
{
    public int Id { get; set; }
    public AB AB{ get; set; }
}

public ABMap()
{
    ToTable("AB","dbo");
    HasKey(p => new { p.AId, p.BId } );
	
    HasRequired(p => p.B).WithOptional(p => p.AB);
	
    Property(p => p.AId).HasColumnName("AId"); // В свойстве поля в таблице БД (PK,FK,int,not null)
    Property(p => p.BId).HasColumnName("BId"); // В свойстве поля в таблице БД (PK,FK,int,not null)
}
...
Рейтинг: 0 / 0
EF помогите пожалуйста настроить связи
    #39492839
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nechto,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class A
{
    public virtual int Id { get; set; }

    [InverseProperty(nameof(B.As))]
    public virtual ICollection<B> Bs { get; set; }
}

public class B
{
    public virtual int Id { get; set; }

    [InverseProperty(nameof(A.Bs))]
    public virtual ICollection<A> As { get; set; }
}



Промежуточную таблицу для связи М:М создаст Entity Framework сам.
...
Рейтинг: 0 / 0
EF помогите пожалуйста настроить связи
    #39492874
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Так у ТС не М:М
...
Рейтинг: 0 / 0
EF помогите пожалуйста настроить связи
    #39492877
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее в ЕF связь 1:1 делается наследованием классов. Так что из классов В и АВ просто кто-то из них должен наследовать другой.
...
Рейтинг: 0 / 0
EF помогите пожалуйста настроить связи
    #39492901
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProПо идее в ЕF связь 1:1 делается наследованием классов. Так что из классов В и АВ просто кто-то из них должен наследовать другой.

Наследование это один из способов. Так же есть WithOptional, который позволяет не использовать модель наследования.

Я прихожу к выходу, что сама реализация неверна. Так как такая модель не позволяет делать связь 1 к 1, а только M к M.
...
Рейтинг: 0 / 0
EF помогите пожалуйста настроить связи
    #39493117
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVostt,

Так у ТС не М:М

Промежуточный класс нужен для М:М, иначе это всё бессмысленно.


NechtoЯ прихожу к выходу, что сама реализация неверна. Так как такая модель не позволяет делать связь 1 к 1, а только M к M.

Лучше было бы, если бы сказал своими словами, чего ты хочешь добиться.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF помогите пожалуйста настроить связи
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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