2016-07-29 48 views
0

的模型項目當我在'Firmas'(泛型)的索引中啓動'Details'時出現此錯誤自動生成MS代碼):傳入詞典的模型項目類型爲'System.Data.Entity.DynamicProxies ...並且需要

Error

這是我的模型:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using actiTest2.Context; 
using System.Data.Entity; 

namespace actiTest2.Models 
{ 
    public class PcontacFirmasModel 
    { 
     public Pcontac pcontac { get; set; } 
     public Firmas firmas { get; set; } 
    } 
} 

的,我嘗試做ATM唯一的呼叫:

@model actiTest2.Models.PcontacFirmasModel 

@{ 
    ViewBag.Title = Html.DisplayFor(model => model.firmas.NOMCOMP); 
} 
+0

您可能在細節操作中的'return View(model);'語句中傳遞了'Firmas'類型的模型。 –

回答

0

看起來,在控制器端,您傳遞的是「Firmas」類型的對象,但您的視圖期待對象「PcontacFirmasModel」。

更新您的操作以發送PcontacFirmasModel對象。您可以使用映射工具來映射PcontacFirmasModel和Firmas。

+0

我無法映射它,Pcontac和Firmas是2個不同的表,使用PcontacFirmasModel合併成一個表以獲得1個視圖中的2個模型。如果我嘗試映射PcontacFirmasModel,則返回:http://i.imgur.com/r9uQALP.png –

+0

在您的視圖中,您將主模型設置爲@model actiTest2.Models.PcontacFirmasModel,在您的操作中執行相同操作:'var model = new actiTest2.Model.PcontactFirmasModel {firmas = repo.GetFirmas(); }返回查看(model);' – anisnet

+0

對於關鍵問題,只需在主鍵列添加屬性'[Key]',當您創建一個Id或TableNameId列的實體時,它會自動設置,如果您設置了主鍵爲FirmasNo,則需要添加鍵屬性。 – anisnet

相關問題