2015-05-23 5 views
0

У меня есть проект MVC, который я подключил к существующей базе данных в SQL Server. Я хочу использовать несколько моделей в целях подключения к нескольким таблицам и получения полей от пользователя или покажите их пользователю. Как я могу это сделать?Несколько моделей в представлении (mvc)

Я попытался с помощью ViewModel, но я не могу передать IEnumerable список модель

первую модель:

public partial class Amniyat 
{ 
    public int AmniyatID { get; set; } 
    public string NamKarbar { get; set; } 
    public string Ramz { get; set; } 
    public string KalameBazyabi { get; set; } 
    public int NoeKarbarID { get; set; } 
    public System.DateTime TarikhIjad { get; set; } 
    public System.DateTime TarikhEtebar { get; set; } 
    public bool VaziyatKarbar { get; set; } 
    public string Nam { get; set; } 
    public string Famili { get; set; } 
    public string Tozihat { get; set; } 

} 

вторая модель:

public partial class NoeKarbar 
{ 
    public int NoeKarbarID { get; set; } 
    public string NoeKarbar1 { get; set; } 
    public string NoeDastresi { get; set; } 
    public string Tozihat { get; set; }    
} 

мой ViewModel:

public class AmniyatNoeKarbar 
{ 
    public IEnumerable<Amniyat> AMN { get; set; } 
    public IEnumerable<NoeKarbar> NK { get; set; } 
} 

контроллер, который я хочу использовать ViewModel в этом:

private HousingAgencyEntities db = new HousingAgencyEntities(); 

    public ActionResult Index() 
    { 
     NoeKarbar nk = db.NoeKarbars.Find(1); 
     Amniyat amn = db.Amniyats.Find(1); 

     AmniyatNoeKarbar mymodel = new AmniyatNoeKarbar { AMN = amn, NK = nk }; 
     return View(mymodel); 
    } 

, но у меня есть ошибка в строке AMN = AMN, NK = пк

ответ

1

ли ваш .find() возвращает метод IEnumerable <>? Я видел много методов Find (int), которые возвращают только базовый объект, который не смог бы преобразоваться в ваш IEnumerable <>.

public ActionResult Index() 
{ 
    IEnumerable<NoeKarbar> nk = new IEnumerable<NoeKarbar>.add(db.NoeKarbars.Find(1)); 
    IEnumerable<Amniyat> amn = new IEnumerable<Amniyat>().add(db.Amniyats.Find(1)); 

    AmniyatNoeKarbar mymodel = new AmniyatNoeKarbar { AMN = amn, NK = nk }; 
    return View(mymodel); 
} 
Смежные вопросы