powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Две сущности для одной таблицы в Базе данных
5 сообщений из 5, страница 1 из 1
Две сущности для одной таблицы в Базе данных
    #39106115
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    [Table("DirEmployees")]
    public class DirEmployeeLogin
    {
        [Key]
        public int? DirEmployeesID { get; set; }
        public string DirEmployeesName { get; set; }
        public string DirEmployeesLogin { get; set; }
        public string DirEmployeesPswd { get; set; }
    }

    [Table("DirEmployees")]
    public class DirEmployee
    {
        [Key]
        public int? DirEmployeesID { get; set; }
        public string DirEmployeesName { get; set; }
        public string DirEmployeesLogin { get; set; }
        public string DirEmployeesPswd { get; set; }

        //Дополнительные поля
    }



Получаю ошибку:
Дополнительные сведения: Типы сущности "DirEmployee" и "DirEmployeeLogin" не могут совместно использовать таблицу "DirEmployees", поскольку они находятся в разных иерархиях типов или не имеют допустимой иерархии для одной связи по внешнему ключу с совпадающими между собой первичными ключами .

Нельзя?
...
Рейтинг: 0 / 0
Две сущности для одной таблицы в Базе данных
    #39106169
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    public class DirEmployeeLogin
    {
        [Key]
        public int? DirEmployeesID { get; set; }
        public string DirEmployeesName { get; set; }
        public string DirEmployeesLogin { get; set; }
        public string DirEmployeesPswd { get; set; }
    }

    public class DirEmployee : DirEmployeeLogin
    {


        //Дополнительные поля
    }
...
Рейтинг: 0 / 0
Две сущности для одной таблицы в Базе данных
    #39111225
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При формировании SQL-запроса LINQ создаёт "левое" поле: discriminator
Подскажите как быть?
...
Рейтинг: 0 / 0
Две сущности для одной таблицы в Базе данных
    #39111274
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой запрос:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
                var query =
                    (
                        from x in db.DirCustomers
                        where x.Login == "XXX" && x.Active == true
                        select new
                        {
                            DirCustomersID = x.DirCustomersID,
                            Active = x.Active
                        }
                    );


Переводит в такой:
Код: c#
1.
2.
3.
4.
5.
SELECT 
    [Extent1].[DirCustomersID] AS [DirCustomersID], 
    [Extent1].[Active] AS [Active]
    FROM [dbo].[DirCustomers] AS [Extent1]
    WHERE ([Extent1].[Discriminator] = N'DirCustomer') AND ([Extent1].[Login] = @p__linq__0) AND (1 = [Extent1].[Active])


Откуда взялось поле [Extent1].[Discriminator] ?
...
Рейтинг: 0 / 0
Две сущности для одной таблицы в Базе данных
    #39115028
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут скорее всего ответ
Правда не очень понятно что делать ...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Две сущности для одной таблицы в Базе данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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