powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate hasmany возвращает objects
3 сообщений из 3, страница 1 из 1
NHibernate hasmany возвращает objects
    #39693193
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите пожалуйста, почему свойство public virtual ICollection<ADictOil> ADictOil { get; set; } сущности ADictOil , возвращает результат objects.
Пример результата: {ConsoleApplication1.ADictOil, ConsoleApplication1.ADictOil, ConsoleApplication1.ADictOil})
Пример результата если коллекции пуста: {})

А я рассчитывал получить на выходи List<ADictOil>().

Исходники сущностей:
Код: 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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
public class Catalog
{
    public virtual int Id { get; set; }
    public virtual string Articule { get; set; }
}
public class A : Catalog
{
    public virtual string Name { get; set; }
    public virtual ICollection<ADictOil> ADictOil { get; set; }
}
public class DictOil
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
}
public class ADictOil
{
    public virtual int Id { get; set; }
    public virtual A A { get; set; }
    public virtual DictOil DictOil { get; set; }
}

// MAPPING FLUENT
public class CatalogMap : ClassMap<Catalog>
{
    public CatalogMap()
    {
         Schema("dbo");
         Table("Catalog");
         Id(p => p.Id).Column("Id");
         Map(p => p.Articule).Column("Articule");
    }
}
public class AMap : SubclassMap<A>
{
    public AMap()
    {
         Schema("dbo");
         Table("A");
         KeyColumn("Id");

         Map(p => p.Name).Column("Name");
         HasMany(x => x.ADictOil).KeyColumn("AId");
    }
}
public class DictOilMap : ClassMap<DictOil>
{
    public DictOilMap()
    {
         Schema("dbo");
         Table("DictOil");

         Id(p => p.Id).Column("Id");
         Map(p => p.Name).Column("Name");
    }
}
public class ADictOilMap : ClassMap<ADictOil>
{
      public ADictOilMap()
      {
            Schema("dbo");
            Table("ADictOil");
            Id(p => p.Id).Column("Id");

            References(x => x.A).Column("AId");
            References(x => x.DictOil).Column("DictOilId");
      }
}


SQL бд:
Код: sql
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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
-- Catalog
CREATE TABLE [dbo].[Catalog](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Articule] [int] NULL,
 CONSTRAINT [PK_dbo.Catalog] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
-- A
CREATE TABLE [dbo].[A](
	[Id] [int] NOT NULL,
	[Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_A] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[A]  WITH CHECK ADD  CONSTRAINT [FK_dbo.A_dbo.Catalog_CatalogId] FOREIGN KEY([Id])
REFERENCES [dbo].[Catalog] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[A] CHECK CONSTRAINT [FK_dbo.A_dbo.Catalog_CatalogId]
GO
-- ADictOil
CREATE TABLE [dbo].[ADictOil](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[AId] [int] NOT NULL,
	[DictOilId] [int] NOT NULL,
 CONSTRAINT [PK_dbo.ADictOil] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ADictOil]  WITH CHECK ADD  CONSTRAINT [FK_ADictOi_AIdl_A_Id] FOREIGN KEY([AId])
REFERENCES [dbo].[A] ([Id])
GO
ALTER TABLE [dbo].[ADictOil] CHECK CONSTRAINT [FK_ADictOi_AIdl_A_Id]
GO
ALTER TABLE [dbo].[ADictOil]  WITH CHECK ADD  CONSTRAINT [FK_dbo.ADictOil_dbo.ADictOil_DictOilId] FOREIGN KEY([DictOilId])
REFERENCES [dbo].[DictOil] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ADictOil] CHECK CONSTRAINT [FK_dbo.ADictOil_dbo.ADictOil_DictOilId]
GO
-- DictOil
CREATE TABLE [dbo].[DictOil](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](100) NULL,
 CONSTRAINT [PK_dbo.DictOil] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO


Запрос Linq:
Код: c#
1.
2.
3.
4.
//< codes >
context.AddMap(m => m.FluentMappings.AddFromAssemblyOf<Catalog>());
var a = context.Query<A>().ToList();
//< codes >


Параллельно в другом проекте я использую EF, там с этим проблем нет.
...
Рейтинг: 0 / 0
NHibernate hasmany возвращает objects
    #39693205
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nechtoвозвращает результат objects.С помощью какого умозаключения или инструментов ты пришел к такому странному выводу?
...
Рейтинг: 0 / 0
NHibernate hasmany возвращает objects
    #39693385
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProNechtoвозвращает результат objects.С помощью какого умозаключения или инструментов ты пришел к такому странному выводу?

Согласен с вами, что я поспешил со скороспешным умозаключением :)
Тип в, котором хранится набор таков - NHibernate.Collection.Generic.PersistentGenericBag.

Скажите пожалуйста как мне можно перейти к стандартному System.Collections.Generic.HashSet? Может есть какая-то метод управления результатом?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate hasmany возвращает objects
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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