powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Связь двух таблиц Entity Framework вопрос.
11 сообщений из 11, страница 1 из 1
Связь двух таблиц Entity Framework вопрос.
    #39134491
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
pipes.cs
namespace WebApplication1
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    public partial class pipes
    {
        public int id { get; set; }
        
        public decimal? dl { get; set; }
       ....
        public int? Diamid { get; set; }
        public virtual Diam Diam { get; set; }
    }
}
Diam.cs
namespace WebApplication1
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("Diam")]
    public partial class Diam
    {
        public int id { get; set; }

        public string? diam { get; set; }

        public decimal? st { get; set; }

   ...    
         public virtual ICollection<pipes> Pipes { get; set; }

         public Diam()
    {
        Pipes = new List<pipes>();
    }
    public override string ToString()
    {
        return diam;
    }
    }
}



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
db = new PipesContext();
            db.Pipes.Load();
            GridView1.DataSource = db.Pipes.Local.ToBindingList();
            GridView1.DataBind();
    List<Diam> Diam = db.Diam.ToList();
            DropDownList1.DataSource = Diam;
            DropDownList1.DataValueField = "id";
            DropDownList1.DataTextField = "diam";
            DropDownList1.DataBind();


В табличку выводится числовое значение Diamid, а не данные из второй таблицы. Подскажите где что пропустил?
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134506
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdm114,
Ничего не понятно. Специально сделано так, чтобы люди моск сломали, догадываясь что же имелось в виду и в чем вопрос?
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134642
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за синтаксис?
Код: c#
1.
  public string? diam { get; set; }
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134648
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость


Хочется чтобы в итоге получилось как то так
Запрос
Код: sql
1.
Select .. from pipes inner join Diam on pipes.Diamid = Diam.id



Вот это вот разбираю http://metanit.com/sharp/entityframework/3.7.php
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134654
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
знака вопроса нет. Когда удалял лишние столбцы -напутал
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134770
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давай сначала, толи ты хочешь связать толи написать запрос? что не получается у тебя, сформулируй.
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134816
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня есть gridview связанная с sqldatasource.
Две таблички. Одна с товаром, другая с категориями товара. Те. в таблице pipes есть ключ Diamid, который связан с id в таблице с описанием.
Запрос
Код: sql
1.
Select .. from pipes inner join Diam on pipes.Diamid = Diam.id



Хочу сделать, чтобы все это заработало через EF. Пример ковыряю здесь: http://metanit.com/sharp/entityframework/3.7.php

Табличка выводится номером. Данные из второй почему то не подставляются, те. по всей видимости не что то не так прописано с ключами

код

Код: c#
1.
2.
3.
4.
db = new PipesContext();
            db.Pipes.Load();
            GridView1.DataSource = db.Pipes.Local.ToBindingList();
            GridView1.DataBind();



Или надо обязательно через какой-нить objectdatasource связь делать?
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134838
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdm114,
Эти две вещи не совместимы:
mdm114У меня есть gridview связанная с sqldatasource.

Хочу сделать, чтобы все это заработало через EF

mdm114Пример ковыряю здесь: http://metanit.com/sharp/entityframework/3.7.php
И где в примере используется sqldatasource?
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134845
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в общем такое:
1) SqlDataSource - зло и подлежит быть выкинутым ккуям (уже не в первом топике об этом талдычу).
2) Использовать Domain модель для байндинга результата выборки к GridView.
3) Использовать пример LINQ-to-SQL для inner join.
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39134870
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
grid.source = db.pipes.AsNoTracking().Select (x=> new DTO{
id =x.id,
diam = x.Diam.diam 
....
}
).ToList(); 
grid.DataBind();


ну и верстке укажешь поля
...
Рейтинг: 0 / 0
Связь двух таблиц Entity Framework вопрос.
    #39135340
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Axeleronmdm114,
Эти две вещи не совместимы

Не так выразился. -ПЕРЕДЕЛАТЬ, конечно же без использования оного.
За ссыль спасибо, интересная, надо разбираться



handmadeFromRu, спасибо за пример. Но в данном случае, я все таки думаю, что я что то напутал в классах. В указанном мной примере по ссылке все работает по lazy loading без явного указания. Хотелось бы доковыряться до правды
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Связь двух таблиц Entity Framework вопрос.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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