Ok поэтому у меня есть 2 моделипередачи переменных/модели в MVC 4 C#
Модель Клиенты
[Table("Clients")]
public class Clients
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int ClientID { get; set; }
public string Client { get; set; }
public string Address { get; set; }
public string State { get; set; }
public string City { get; set; }
public string County { get; set; }
public int Zip { get; set; }
public string Phone { get; set; }
public string LogoLocation { get; set; }
public string ContactName { get; set; }
public string ContactPhone { get; set; }
public string ContactEmail { get; set; }
public int Authorized { get; set; }
public string Note { get; set; }
public string Comment { get; set; }
public virtual ICollection<Countys> Countys { get; set; }
}
Модель Countys
[Table("Countys")]
public class Countys
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int CountyID { get; set; }
public int ClientID { get; set; }
public string County { get; set; }
public string Note { get; set; }
public string Comment { get; set; }
public virtual ICollection<TownShips> Townships { get; set; }
}
** Мои Контроллер индекса Countys в это время **
public ActionResult Index(int id)
{
var cnty = from r in db.Clients
where r.ClientID == id
select r;
if (cnty != null)
{
try
{
return View(cnty);
}
catch (Exception ex)
{
}
}
return HttpNotFound();
}
мой взгляд стандартный генерироваться вид:
@model OilNGasWeb.ModelData.Clients
@{
ViewBag.Title = "Index";
}
<h2>County's for </h2>
<p>
@Html.ActionLink("Create New", "Create",new { id = Model.ClientID },null)
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Countys.First().County)
</th>
<th>
@Html.DisplayNameFor(model => model.Countys.First().Note)
</th>
<th>
@Html.DisplayNameFor(model => model.Countys.First().Comment)
</th>
</tr>
</Table>
ИСКЛЮЧЕНИЕ:
System.InvalidOperationException: Модель элемент передается в словарь типа «System .Data.Entity.Infrastructure.DbQuery 1[OilNGasWeb.ModelData.Clients]', but this dictionary requires a model item of type 'OilNGasWeb.ModelData.Clients'. at System.Web.Mvc.ViewDataDictionary
1.SetModel (значение объекта) в System.Web.Mvc.ViewDataDictionary..ctor (словарь ViewDataDictionary) в System.Web .Mvc.WebViewPage 1.SetViewData(ViewDataDictionary viewData) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a. <InvokeActionResultWithFilters>b__17() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func
1 продолжение) в System.Web.Mvc.ControllerActionInvoker. <> c_ DisplayClass1a. <> c _DisplayClass1c.b_ 19() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters (ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) в System.Web.Mvc.Async.AsyncControllerActionInvoker. <> c _DisplayClass25. <> c_ DisplayClass2a. b _20() в System.Web.Mvc.Async.AsyncControllerActionInvoker. <> c_ DisplayClass25. b _22 (IAsyncResult asyncResult);
Это звучит так же, как и предыдущий вопрос, который уже имеет некоторые ответы: [как передать один-ко-многим из контроллера для просмотра в mvc4] (http://stackoverflow.com/questions/17279306/how -to-pass-one-to-many-from-controller-to-view-in-mvc4) – David
Да, но это не решение для меня, я также отметил, что их нужно удалить из-за дублирования, было сказано, что оживить их и изменить весь код в вопросах не будет приемлемым. – Pakk