Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Code first Проблема при наследовании / 2 сообщений из 2, страница 1 из 1
09.11.2015, 09:54
    #39098002
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Code first Проблема при наследовании
При запросе данных формируется такой запрос для одной табл:
Код: c#
1.
2.
SELECT ......... FROM [dbo].[CorporateActionProcess] AS [Extent1]
WHERE ([Extent1].[Discriminator] = N'CorporateActionProcessStat') AND ([Extent1].[IdCorporateActionProcess] = @p__linq__0)}



И такой для другой
Код: c#
1.
2.
SELECT ...... FROM [dbo].[CorporateActionProcess] AS [Extent1]
WHERE ([Extent1].[Discriminator] = N'CorporateActionProcess') AND ([Extent1].[IdCorporateActionProcess] = @p__linq__0)}



И понятно возникает ошибка, что поле Discriminator нет.

Вот что я хотел сделать:
Код: 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.
    public abstract class CorporateActionProcessBase { .............. }

    public class CorporateActionProcessBaseConfiguration : EntityTypeConfiguration<CorporateActionProcessBase>
    {
        public CorporateActionProcessBaseConfiguration()
            : this("dbo")
        {
        }

        public CorporateActionProcessBaseConfiguration(string schema)
        {
            ToTable(schema + ".CorporateActionProcess");
            HasKey(x => new { x.Id });
            ................
        }
    }

    public class CorporateActionProcess : CorporateActionProcessBase     {    }

    public class CorporateActionProcessStat : CorporateActionProcessBase

    public class CorporateActionProcessStatConfiguration : EntityTypeConfiguration<CorporateActionProcessStat>
    {
        public CorporateActionProcessStatConfiguration()
            : this("dbo")
        {
        }

        public CorporateActionProcessStatConfiguration(string schema)
        {
            Property(x => x.ActionType).HasColumnName("ActionType").IsRequired().IsUnicode(false).HasColumnType("varchar").HasMaxLength(50);
            Property(x => x.ChangeUser).HasColumnName("ChangeUser").IsRequired().IsUnicode(false).HasColumnType("varchar").HasMaxLength(255);
            Property(x => x.ChangeDate).HasColumnName("ChangeDate").IsRequired().HasColumnType("smalldatetime");
        }
    }



Что не так и как исправить ошибку?
И сразу еще один вопрос. Как сделать базовый класс так, чтобы на вход можно было передать имя табл? Как написать класс я знаю, а вот как его потом применить понятия не имею.
Дело в том, что информация находится в разных БД и для одной сущности информация берется из табл, а для другой из вью.
...
Рейтинг: 0 / 0
09.11.2015, 10:44
    #39098053
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Code first Проблема при наследовании
Вопрос снят
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Code first Проблема при наследовании / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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