Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid? / 7 сообщений из 7, страница 1 из 1
09.02.2011, 15:13
    #37106979
Linkorn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
С помощью RIA выкладываю в Silverlight два DataGrid'а
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?

Есть запрос к базе, его прогнал через Linqer (SQL to LINQ Converter), получил код LINQ и сгенерированные классы.
Теперь не могу ума дать как эти классы правильно использовать и где.
в DomainService1.cs или DomainService1.metadata.cs.
Мож кто подсткажет?


вот что на выходе Linqer -

LINQ:
from t1 in db.tReturnDoc
from t2 in db.tTopicality
where
t1.Topicality_ID == t2.Topicality_ID
select new {
t1.Comments,
t1.Theme,
t1.Topicality_ID,
t2.Topicality_Name
}

Classes:

public class Query1
{
private String _Comments;
private String _Theme;
private Int32? _Topicality_ID;
private String _Topicality_Name;
public Query1(
String AComments, String ATheme, Int32? ATopicality_ID, String ATopicality_Name)
{
_Comments = AComments;
_Theme = ATheme;
_Topicality_ID = ATopicality_ID;
_Topicality_Name = ATopicality_Name;
}
public String Comments { get { return _Comments; } }
public String Theme { get { return _Theme; } }
public Int32? Topicality_ID { get { return _Topicality_ID; } }
public String Topicality_Name { get { return _Topicality_Name; } }
}
public class Query1List: List<Query1>
{
public Query1List(IncoMegionEntities db)
{
var query =
from t1 in db.tReturnDoc
from t2 in db.tTopicality
where
t1.Topicality_ID == t2.Topicality_ID
select new {
t1.Comments,
t1.Theme,
t1.Topicality_ID,
t2.Topicality_Name
};
foreach (var r in query)
Add(new Query1(
r.Comments, r.Theme, r.Topicality_ID, r.Topicality_Name));
}
}
...
Рейтинг: 0 / 0
09.02.2011, 18:51
    #37107621
FSou1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
Linkorn,

Сгенерировали бы сами (своими руками) классы в .dbml файл. В .cs файле страницы написали запрос и вывод в GridView.
...
Рейтинг: 0 / 0
09.02.2011, 19:52
    #37107729
Linkorn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
FSou1,

классы в .dbml файл Сгенерировал.
каким образом мне отобразить данные в Silverlight?, есть рабочий пример?
...
Рейтинг: 0 / 0
09.02.2011, 20:04
    #37107747
Linkorn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
Linkorn,

нашел пример http://www.c-sharpcorner.com/UploadFile/nipuntomar/958/Default.aspx, где создают
DomainService1, но у меня в диалоге создания DomainService в списке отсутствуют Entities
(проект rebuild-ил - без эффекта) не подскажите чего не хватает?

при создании Model1.edmx в диалоге Entities отображаются.
...
Рейтинг: 0 / 0
10.02.2011, 14:58
    #37109304
Linkorn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
Победил!!!
не хватало WCF RIA Services Toolkit May 2010.msi
...
Рейтинг: 0 / 0
11.03.2011, 14:13
    #37159661
Alvain
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
Схожий вопрос:
Изучаю ASP.NET MVC3.

В контроллере написал LINQ-запрос для события Index аналогичные приведенному здесь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        public ActionResult Index()
        {
             var query =
             from t1 in db.tReturnDoc
             from t2 in db.tTopicality
             where
             t1.Topicality_ID == t2.Topicality_ID
             select new {
                 t1.Comments,
                 t1.Theme,
                 t1.Topicality_ID,
                 t2.Topicality_Name
             };
            View.Model = query.ToList();
            return View();
        }

/////

В Index.cshtml раньше (до того, как был сделан JOIN) было примерно так:

Код: plaintext
1.
2.
@foreach (var item in Model) {
    @Html.ActionLink("Edit", "Edit", new { id=item.Topicality_ID })
}

После добавления JOIN'а конструкция перестала работать. Почему это происходит - думаю, что я правильно понимаю (возвращаемый список не описан в моделях). Компилятор во время выполнения ругается на то, что он не знает что за объект (item.Topicality_ID) ему пихают.
Но как отобразить такой список? Неужели создавать еще один класс, который будет включать в себя все необходимые поля и приводить item к его типу??? Очень не хотелось бы это делать для каждого запроса (если я не несу бред) :) ...

Подскажите как обращаться с полученным query в представлении (View)!
...
Рейтинг: 0 / 0
11.03.2011, 23:08
    #37160607
Alvain
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid?
Отвечу сам на свой вопрос... Решение проблемы все-таки нашел, только еще не совсем разобрался как его применить.
Но вот, может кому-то поможет: http://habrahabr.ru/blogs/aspnet_mvc/79363/
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как отобразить данные из 2х таблиц связанных по ID в одном DataGrid? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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