powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Создание объединения (join) в EF для доступа к полям связанных сущностей
25 сообщений из 27, страница 1 из 2
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679941
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, ребята!

Есть у меня таблица в БД (Flood) и соответствующая ей сущность EF, которая имеет 2 внешних ключа (на таблицу Post и SolarActivity), которым в соответствие ставятся 2 виртуальных поля в классе сущности EF. Мне нужно чтобы у меня в List были объекты содержащие не ключи, а какое-то поле сущности этих ключей (ну т. е. показывало не "1", а то что соответствует данному ключу в связанной сущности - "Ваня").
Если я просто обращаюсь к этим полям, то мне выдаётся ссылка, а не нужный мне объект, который должен быть по идее по этой ссылки.
В интернете нашёл решение с помощью создание объединения (join) по типу как это делается в SQL.

Но не смотря на то, что объединение было выстроено вроде верно, его тест показал, что вместо значения нужного поля он почему-то возвращает какую-то длину Lenght? Почему так?

Код: 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.
var context = new ModelDatabaseFastWaterContex();
            var transaction = from flood in context.Floods
                              join posts in context.Posts on flood.Id_Post equals posts.Id_Post into floodPost
                              from postJoined in floodPost.DefaultIfEmpty()
                              join postKoords in context.GeographicalKoordinates on postJoined.Id_GeographicalKoordinates
                              equals postKoords.Id_GeographicalKoordinates into floodPostKoord
                              from postKoordsJoined in floodPostKoord.DefaultIfEmpty()
                              join posts in context.SolarActivities on flood.Id_SolarActivity equals posts.Id_SolarActivity
                              into floodSolar
                              from solarJoined in floodSolar.DefaultIfEmpty()
                              select new
                              {
                                  Id_flood = flood.Id_Flood,
                                  NamePost = postJoined.NamePost,
                                  Koords = postKoordsJoined.KoordinateText,
                                  Date = flood.DateAndTimes,
                                  LongitudeDay = flood.LongitudeDay,
                                  Snow = flood.Snow,
                                  Rain = flood.Rain,
                                  SnowRain = flood.SnowRain,
                                  AirHumidity = flood.AirHumidity,
                                  LevelSnow = flood.LevelSnow,
                                  HardnessSnow = flood.HardnessSnow,
                                  TemperatureDay = flood.TemperatureDay,
                                  TemperatureNight = flood.TemperatureNight,
                                  LevelWater = flood.LevelWater,
                                  Id_SolarActivity = solarJoined.LevelSolar,
                                  TemperatureWater = flood.TemperatureWater,
                                  WarningFlood = flood.WarningFlood,
                                  LevelFreezingGround = flood.LevelFreezingGround,
                              };
            GridView2.DataSource = transaction.Select(y => y.NamePost).ToList(); //Результат колонка Ltnght с значениями 8,...
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679959
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Код: c#
1.
//Результат колонка Ltnght с значениями 8,...

Стоп-стоп. Не вали в одну кучу что возвращает запрос и что показывает грид.

Vlad__i__mirобъединение было выстроено вроде верно, его тест показалнапиши
Код: c#
1.
var qqq = transaction.ToList()

и посмотри в отладке, что получишь в qqq - это и будет тест объединения.
А как это отобразит грид - вопрос немножко другой
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679960
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirЕсли я просто обращаюсь к этим полям, то мне выдаётся ссылка, а не нужный мне объект, который должен быть по идее по этой ссылки.вот это расшифровать не смог
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679967
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirну т. е. показывало не "1", а то что соответствует данному ключу в связанной сущности - "Ваня").кроме поля с кодом, если это про FK, надо в маппинг добавлять сам класс этого справочника по связи.
Тогда будет и код id_user и сам юзер в виде класса user.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679974
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123кроме поля с кодом, если это про FK, надо в маппинг добавлять сам класс этого справочника по связи.
Тогда будет и код id_user и сам юзер в виде класса user.Ну ТС вроде написал:Vlad__i__mirкоторым в соответствие ставятся 2 виртуальных поля в классе сущности EFто есть ссылки на сущности у него есть (виртуальные поля).

Возможно, проблема с полями у него возникла та же самая, что и с джойнами. Вместо того, чтобы проверить результат запроса напрямую, он попытался отобразить его в гриде, увидел что-то не соответствующее его ожиданиям и начал усложнять себе жизнь
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679978
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Фиг знает.
Я не понял ваще зачем эта простыня sql.
Навигация Сущность.СвязаннаяСщность.Поле
Должна работать.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39679988
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Код: c#
1.
flood.Id_Post equals posts.Id_Post

Учитывая, что имена свойств заданы не по соглашениям, фиг знает, что он там в модели наваял, в общем, нужно смотреть модель и запрос, который он сделал, а также знать подход (CF, DF, MF) и версию EF, маловато данных, короче. Пусть сначала разберется с джойнами, раз уже сделал их.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680283
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, о, а если просто вот так прописать

Код: c#
1.
2.
var joinPost= transaction.ToList();
dataGridView2.DataSource = joinPost;



то всё нормально он формирует и отображает.

Почему же тогда после применения Select() такое получается?

Сама сущность:
Код: 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.
[Table("Flood")]
    public partial class Flood
    {
        [Key]
        public int Id_Flood { get; set; }

        public int Id_Post { get; set; }

        public DateTime DateAndTimes { get; set; }

        public decimal? LongitudeDay { get; set; }

        public decimal? Snow { get; set; }

        public decimal? Rain { get; set; }

        public decimal? SnowRain { get; set; }

        public decimal? AirHumidity { get; set; }
        public decimal? LevelSnow { get; set; }

        public decimal? HardnessSnow { get; set; }

        public int TemperatureDay { get; set; }

        public int TemperatureNight { get; set; }

        public decimal? LevelWater { get; set; }

        public int? Id_SolarActivity { get; set; }

        public int? TemperatureWater { get; set; }

        public int WarningFlood { get; set; }

        public decimal? LevelFreezingGround { get; set; }

        public virtual Post Post { get; set; }

        public virtual SolarActivity SolarActivity { get; set; }
    }
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680313
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторЯ не понял ваще зачем эта простыня sql.
Навигация Сущность.СвязаннаяСщность.Поле
Должна работать.

Я тоже очень хотел так, но у меня опять отображался этот Lenght. Теперь я проверил и увидел, что он верно формирует List, а отображает не верно.

Как мне из сформированного списка выбрать сразу несколько нужных полей запросом Select()?

Я пытался вот так, но это не верно:

Код: c#
1.
2.
3.
4.
5.
6.
BindingSource bind = new BindingSource();
            var joinPost = FloodService.GetFloodEf().ToList().Select(y => { y.Post.NamePost; y.SolarActivity.LevelSolar});//Неверно. Как 
                                                                                                                                                       //выбрать сразу несколько полей?
            bind.DataSource = joinPost;
            dataGridView2.AutoGenerateColumns = true;
            dataGridView2.DataSource = bind;


GetFloodEf() - метод возвращающий List объектов:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class FloodService
    {
        public static List<Flood> GetFloodEf()
        {
            var context = new ModelDatabaseFastWaterContex();
            IQueryable<Flood> query = context.Floods; 
            List<Flood> listFloods = query.ToList();
            return listFloods;
        }
    }
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680316
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirGetFloodEf() - метод возвращающий List объектов:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class FloodService
    {
        public static List<Flood> GetFloodEf()
        {
            var context = new ModelDatabaseFastWaterContex();
            IQueryable<Flood> query = context.Floods; 
            List<Flood> listFloods = query.ToList();
            return listFloods;
        }
    }


Не понял.
Это всё равно одной строке
context.Floods.ToList();
?
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680320
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirСама сущность:сделай сущность из двух полей.
Остальное выкинь и покажи проблему.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680368
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, Выгружает всё верно - здесь проблем нет, в сущности проблем тоже нет. Проблемы выбрать из выгруженного списка только нужные поля, а не все подряд. Я хотел сделать это с помощью Select(), но не знаю как прописать чтобы он выбирал больше 1-го поля.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680369
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторНе понял.
Это всё равно одной строке
context.Floods.ToList();
?

Не суть. Работает верно.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680371
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Код: c#
1.
Возможно, проблема с полями у него возникла та же самая, что и с джойнами. Вместо того, чтобы проверить результат запроса напрямую, он попытался отобразить его в гриде, увидел что-то не соответствующее его ожиданиям и начал усложнять себе жизнь



Вот это верно.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680393
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,

Т.е. топик решён?
Суть то скажи).
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680400
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторТ.е. топик решён?
Суть то скажи).

Ну не совсем решён - частично.

Осталась разобраться почему он не верно отображает сформированный List объектов после применения Select().

И немного другая, но смежная проблема: как отобрать несколько конкретных полей для отображения, а не все?
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680402
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirОсталась разобраться почему он не верно отображает сформированный List объектов после применения Select().
Значит опять по кругу.
МИНИМАЛЬНЫЙ код и пример проблемы.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680417
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Вот так вот всё отображается нормально:
Код: c#
1.
2.
var joinPost= transaction.ToList();
dataGridView2.DataSource = joinPost;


а вот так вместо значения свойства выводит колонку Lenght
Код: c#
1.
GridView2.DataSource = transaction.Select(y => y.NamePost).ToList(); //Результат колонка Ltnght с значениями 8,...



Код формирования списка объектов:
Код: 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.
var context = new ModelDatabaseFastWaterContex();
            var transaction = from flood in context.Floods
                              join posts in context.Posts on flood.Id_Post equals posts.Id_Post into floodPost
                              from postJoined in floodPost.DefaultIfEmpty()
                              join postKoords in context.GeographicalKoordinates on postJoined.Id_GeographicalKoordinates
                              equals postKoords.Id_GeographicalKoordinates into floodPostKoord
                              from postKoordsJoined in floodPostKoord.DefaultIfEmpty()
                              join posts in context.SolarActivities on flood.Id_SolarActivity equals posts.Id_SolarActivity
                              into floodSolar
                              from solarJoined in floodSolar.DefaultIfEmpty()
                              select new
                              {
                                  Id_flood = flood.Id_Flood,
                                  NamePost = postJoined.NamePost,
                                  Koords = postKoordsJoined.KoordinateText,
                                  Date = flood.DateAndTimes,
                                  LongitudeDay = flood.LongitudeDay,
                                  Snow = flood.Snow,
                                  Rain = flood.Rain,
                                  SnowRain = flood.SnowRain,
                                  AirHumidity = flood.AirHumidity,
                                  LevelSnow = flood.LevelSnow,
                                  HardnessSnow = flood.HardnessSnow,
                                  TemperatureDay = flood.TemperatureDay,
                                  TemperatureNight = flood.TemperatureNight,
                                  LevelWater = flood.LevelWater,
                                  Id_SolarActivity = solarJoined.LevelSolar,
                                  TemperatureWater = flood.TemperatureWater,
                                  WarningFlood = flood.WarningFlood,
                                  LevelFreezingGround = flood.LevelFreezingGround,
                              };
            GridView2.DataSource = transaction.Select(y => y.NamePost).ToList(); //Результат колонка Ltnght с значениями 8,..


Сама сущность:
Код: 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.
[Table("Flood")]
    public partial class Flood
    {
        [Key]
        public int Id_Flood { get; set; }

        public int Id_Post { get; set; }

        public DateTime DateAndTimes { get; set; }

        public decimal? LongitudeDay { get; set; }

        public decimal? Snow { get; set; }

        public decimal? Rain { get; set; }

        public decimal? SnowRain { get; set; }

        public decimal? AirHumidity { get; set; }
        public decimal? LevelSnow { get; set; }

        public decimal? HardnessSnow { get; set; }

        public int TemperatureDay { get; set; }

        public int TemperatureNight { get; set; }

        public decimal? LevelWater { get; set; }

        public int? Id_SolarActivity { get; set; }

        public int? TemperatureWater { get; set; }

        public int WarningFlood { get; set; }

        public decimal? LevelFreezingGround { get; set; }

        public virtual Post Post { get; set; }

        public virtual SolarActivity SolarActivity { get; set; }
    }
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680503
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
Ты читаешь что я тебе писал?
Упрощай запрос до минимума полей.
Упрощай сущность до одного двух полей.
Или скопипастил где запрос?
...
Это если не рабочий запрос.
Где твой вопрос с вопросительным знаком?
..
Это работа программиста, без всякого грида вывести в консоль результаты запроса и отлаживать его.
Начиная с одной колонки id транзакции.
После этого добавляя колонки и уточняя результат.
....
Где скрин грида или того что выводится?
Работай!
Удачи!
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680556
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторЭто если не рабочий запрос.
Где твой вопрос с вопросительным знаком?

Я же вроде понятно написал:
авторВот так вот всё отображается нормально:
Код: c#
1.
2.
var joinPost= transaction.ToList();
dataGridView2.DataSource = joinPost;


а вот так вместо значения свойства выводит колонку Lenght
Код: c#
1.
GridView2.DataSource = transaction.Select(y => y.NamePost).ToList(); //Результат колонка Ltnght с значениями 8,...




В этом и есть проблема.

Petro123Ты читаешь что я тебе писал?
Упрощай запрос до минимума полей.
Упрощай сущность до одного двух полей.
Или скопипастил где запрос?

Нет смысла упрощать до 1-го - 2-х полей, т.к. у меня задача отобразить навигационные поля, у меня их уже 2-а. И потом, уже писал, что если не применять команду Select(), то всё нормально отображается проблема возникает уже тогда, когда я хочу отобрать только нужные поля из всех.
Вот урезанный насколько это возможно пример моей задачи:
Код: 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.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
[Table("Flood")]
    public partial class Flood
    {
        [Key]
        public int Id_Flood { get; set; }

        public int Id_Post { get; set; }
  
        public virtual Post Post { get; set; }

        public virtual SolarActivity SolarActivity { get; set; }
    }
public static List<Flood> GetFloodEf()
        {
            var context = new ModelDatabaseFastWaterContex(); 
            IQueryable<Flood> query = context.Floods; 
            List<Flood> listFloods = query.ToList();
            return listFloods;
        }

[Table("Post")]
    public partial class Post
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public Post()
        {
            Floods = new HashSet<Flood>();
        }

        [Key]
        public int Id_Post { get; set; }

        [Required]
        [StringLength(50)]
        public string NamePost { get; set; }

        public int? Id_GeographicalKoordinates { get; set; }
       
        [StringLength(50)]
       
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<Flood> Floods { get; set; }
        public virtual GeographicalKoordinate GeographicalKoordinate { get; set; }
        }

public partial class GeographicalKoordinate
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public GeographicalKoordinate()
        {
            Posts = new HashSet<Post>();
        }

        [Key]
        public int Id_GeographicalKoordinates { get; set; }

        [Required]
        public DbGeography Koordinate { get; set; }
        
        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public string KoordinateText { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<Post> Posts { get; set; }
    }

var context = new ModelDatabaseFastWaterContex();
            var transaction = from flood in context.Floods
                              join posts in context.Posts on flood.Id_Post equals posts.Id_Post into floodPost
                              from postJoined in floodPost.DefaultIfEmpty()
                              join postKoords in context.GeographicalKoordinates on postJoined.Id_GeographicalKoordinates
                              equals postKoords.Id_GeographicalKoordinates into floodPostKoord
                              from postKoordsJoined in floodPostKoord.DefaultIfEmpty()
                              join posts in context.SolarActivities on flood.Id_SolarActivity equals posts.Id_SolarActivity
                              into floodSolar
                              from solarJoined in floodSolar.DefaultIfEmpty()
                              select new
                              {
                                  Id_flood = flood.Id_Flood,
                                  NamePost = postJoined.NamePost,
                                  Koords = postKoordsJoined.KoordinateText,
                                  Id_SolarActivity = solarJoined.LevelSolar,
                              };
            var joinPost = transaction.ToList();
            [color=green]dataGridView1.DataSource = joinPost; //Работает - таблицы 1-ая на снимке[/color]
            [color=red]dataGridView2.DataSource = joinPost.Select(y => y.Koords).ToList(); // НЕ работает - таблицы 2-ая на снимке
            dataGridView3.DataSource = FloodService.GetFloodEf().Select(y => y.Post.GeographicalKoordinate.KoordinateText).ToList();//НЕ работает - таблицы 3-ая на снимке[/color]
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680563
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Код: c#
1.
public string NamePost { get; set; }

Ну? а какого эффекта ты хочешь добиться? Ты пытаешься отобразить List<string> в гриде. Соответственно каждая строка - это один стринг. Грид пытается построить набор столбцов на базе свойств типа string. Нашел у него свойство Length и отобразил его значение. Других свойств не нашел.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680564
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProVlad__i__mir
Код: c#
1.
public string NamePost { get; set; }


Ну? а какого эффекта ты хочешь добиться? Ты пытаешься отобразить List<string> в гриде. Соответственно каждая строка - это один стринг. Грид пытается построить набор столбцов на базе свойств типа string. Нашел у него свойство Length и отобразил его значение. Других свойств не нашел.

Причем тут вообще select и все эти простыни запросов. Не можешь уложить в голове и отладить картину в целом - отлаживай кусками. Я же сказал. Запрос - это одно, отображение в гриде - это другое. Создаешь тестовый List<string> из трех строк и отлаживаешь его отображение в гриде. И этот вопрос к тематике этого подфорума не имеет отношения.

Тебе для того даден SOLID, чтобы ты не пытался в один и тот же класс засунуть отображение в гриде и запрос в БД.
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680572
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

авторТебе для того даден SOLID, чтобы ты не пытался в один и тот же класс засунуть отображение в гриде и запрос в БД.

У меня это в разных классах: сущность в одном, запрос в другом, а ГридВью в третьем.

авторПричем тут вообще select и все эти простыни запросов. Не можешь уложить в голове и отладить картину в целом - отлаживай кусками. Я же сказал. Запрос - это одно, отображение в гриде - это другое.

Это я понял, написал об этом ранее.

авторСоздаешь тестовый List<string> из трех строк и отлаживаешь его отображение в гриде. И этот вопрос к тематике этого подфорума не имеет отношения.

А вот как отладить не понятно, но как было сказано это в другой подфорум.

Спасибо!
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680588
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirУ меня это в разных классах: сущность в одном, запрос в другом, а ГридВью в третьем.Если бы это было так, то на входе в класс отображения был бы List<string> и ты не задавался бы вопросом, правильно или неправильно у тебя работает join. Тебе бы компилятор не дал запутаться. А так как ты пытаешься присвоить источнику данных грида результат запроса напрямую, не понимая, какой он имеет тип, я делаю вывод, что у тебя все в одном классе, и не надо рассказывать сказки
...
Рейтинг: 0 / 0
Создание объединения (join) в EF для доступа к полям связанных сущностей
    #39680591
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, для проверки работоспособности join поместил в класс формы, потому что, чтобы вернуть его из метода другого класса понадобилось бы прописывать новый класс для хранения результатов joina, т.к. результат join - var, записывать его туда, а мне нужно было пока просто убедиться, что это работает. А всё остальное - сущность, контекст, метод выгрузки сущности, все в отдельных классах
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Создание объединения (join) в EF для доступа к полям связанных сущностей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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