J'ai créé une entité personnalisée car j'ai besoin de remplir une entité avec des données provenant d'une jointure dans L2S. Lorsque je clique avec le bouton droit de la souris sur le code ActionResult du contrôleur pour "Ajouter une vue", puis que je sélectionne "Créer une vue fortement typée", ma classe n'apparaît pas dans les classes disponibles dans le sélecteur. Je ne suis pas sûr pourquoi. Voici mon code:Comment créer une vue MVC fortement typée basée sur une classe Linq2Sql personnalisée
//The Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
namespace FurnitureStore.Models.Repository
{
public class FurnitureRepository
{
public IQueryable<Listing> GetProductListings()
{
FurnitureDataContext dc = new FurnitureDataContext();
return (from p in dc.Products
join c in dc.Categories
on p.CategoryId equals c.CategoryId
select new Listing
{
ProductName = p.ProductName,
CategoryDescription = c.CategoryDescription
});
}
}
}
//The entity class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace FurnitureStore.Models
{
public class Listing
{
public string ProductName { get; set; }
public string CategoryDescription { get; set; }
}
}
//The Method in the Controller
public ActionResult ProductListings()
{
FurnitureRepository fr = new FurnitureRepository();
var listings = fr.GetProductListings();
return View("ProductListings",listings);
}
C'est la façon tout à fait correcte pour résoudre ce! –