powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# EF реализация связи один к одному
2 сообщений из 2, страница 1 из 1
c# EF реализация связи один к одному
    #39490717
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Помогите пожалуйста отладить ошибку? Реализую связь один к одному между сущностями (TableX - TableA и TableX - TableB). Не совсем понимаю почему EF генерирует поле TableX_Id.

Код: 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 TableX
{
    public int Id { get; set; }
    public virtual ICollection<TableA> TableA{ get; set; }
    public virtual ICollection<TableB> TableB{ get; set; }
}
public class TableA
{
    public int TableXId { get; set; }
    public TableX TableX{ get; set; }
}
public class TableB
{
    public int TableXId { get; set; }
    public TableX TableX{ get; set; }
}

public TableAMap()
{
    ToTable("TableA","dbo");
    HasKey(p => p.TableXId );
    Property(p => p.TableXId).HasColumnName("TableXId").IsRequired; // В свойстве поля в таблице БД (PK,FK,int,not null)
}
public TableBMap()
{
    ToTable("TableB","dbo");
    HasKey(p => p.TableXId );
    Property(p => p.TableXId).HasColumnName("TableXId").IsRequired; // В свойстве поля в таблице БД (PK,FK,int,not null)
}



Error: invalid column name "TableX_Id"
...
Рейтинг: 0 / 0
c# EF реализация связи один к одному
    #39490808
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел решение


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
// Изменить
public class TableX
{
    public int Id { get; set; }
    public TableA TableA{ get; set; }
    public TableB TableB{ get; set; }
}

// Для TableAMap
HasRequired(lu => lu.TableX)
  .WithOptional(pi => pi.TableA);

//Для TableBMap
HasRequired(lu => lu.TableX)
  .WithOptional(pi => pi.TableB);
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# EF реализация связи один к одному
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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