ASP.NET MVC 4 verknüpfen von zwei Tabellen

bitte nehmen Sie einen Blick auf meinen code und zeigen Sie mich in die richtige Richtung.
Ich habe 2 Tabellen : - Produkt-und vProductAndDescription. Ich brauche den Namen und LisPrice von Produkt-und der Beschreibung von vProductAndDescription begleitet von Ihren ProductID beziehungsweise. Bin ich auf dem richtigen Weg zur Erreichung dieser meiner Ansicht? Denn bisher ist es nur ein Absturz.

Controller:

public ActionResult Index()
        {
            string query = "SELECT v.Name, p.ListPrice, LEFT(v.Description, 20) from SalesLT.vProductAndDescription v, SalesLT.Product p WHERE v.ProductID = p.ProductID";
            var list = db.Database.SqlQuery<Product>(query);              
            var result = from a in list.ToList()
                    join b in db.vProductAndDescriptions on a.ProductID equals b.ProductID
                    select new
                    {
                        c = a.Name,
                        d = a.ListPrice,
                        e = b.Description
                    };
            return View(result.ToList());
}

Anzeigen:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<table>
    <tr>
        <th>Name
        </th>
        <th>Price (R)
        </th>
        <th>Description
        </th>
        <th></th>
    </tr>

@foreach (var item in ViewData.Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ListPrice)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Description)
        </td>
    </tr>
}
</table>
  • Welche Fehler haben Sie?
  • EntityCommandExecutionException war unhandled by user code, Den data reader ist inkompatibel mit dem angegebenen 'AdventureWorksLT2008R2Model.Produkt'. Ein Mitglied der Typ, 'ProductID', nicht über eine entsprechende Spalte in der Daten-Leser mit dem gleichen Namen.
  • Das macht absolut überhaupt keinen Sinn für mich, weil es klar und hat eine entsprechende Spalte, das ist klar. Sicherlich gibt es einen einfacheren Weg der Verbindung von zwei Tabellen und zeigt Sie in einer Ansicht?
InformationsquelleAutor Chris | 2013-08-05
Schreibe einen Kommentar