Linq Query (данные в данных) Проблема в .Net MVC - PullRequest
0 голосов
/ 04 июня 2011

У меня есть 2 таблицы:

  1. Категории (int Id, заголовок строки)
  2. Works (int categoryId, идентификатор WorkTitle, int id)

Table Works имеет внешний ключ (от многих к одному) для таблицы категорий.

Я хочу получить такой результат:

    Title (id 1)

    WorkTitle (Works.id) | WorkTitle (Works.id) | WorkTitle (Works.id) (this is works in thsi category)


    Title (id 2)

    WorkTitle (Works.id) | WorkTitle (Works.id) | WorkTitle (Works.id) (this is works in thsi category)

......

    Title (id n)

    WorkTitle (Works.id) | WorkTitle (Works.id) | WorkTitle (Works.id)(this is works in thsi category)

Каким должен быть Model, View And Controller для этого?

Большое спасибо!

1 Ответ

1 голос
/ 04 июня 2011

Это должно помочь вам начать. Сначала я предполагаю код Entity Framework 4.1. Используйте шаблон ADO.NET Poco Entity из NuGet для заполнения инициализации базы данных.

Модель

public class Category
{
    public virtual int Id { get; set; }
    public virtual string Title { get; set; }
    public virtual ICollection<Work> Works { get; set; }   
}

public class Work
{
    public virtual int Id { get; set; }
    public virtual string Title { get; set; }
}

Контроллер

public ActionResult Details(int id)
{
    Category c = context.Categories.Single(x=>x.Id == id);
    return View(c);   
}

View

@model ICollection<Category>
@{
    foreach(Category c in Model)
    {
        <h1>@c.Title</h1> (id @c.Id)
        <ul>
        foreach(Work w in c.Works)
        {
           <li>@w.Title (@w.Id)</li>
        }   
        </ul>
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...