Мой класс модели:
public class Contracts
{
public int ContractId { get; set; }
public string contract { get; set; }
}
Добавьте свой контроллер:
public ActionResult Index()
{
var contracts = from c in db.Contracts
select c;
return View(contracts.ToList());
}
Строго типизированное представление возвращает:
@foreach (var item in Model) {
<tr>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
<td>
@item.ContractId
</td>
<td>
@item.contract
</td>
</tr>
}
Первоначально основной основной таблицыКлюч назывался ID .Затем я изменил его на ContractId для использования в внешних ключах.
Как установить первичный ключ модели, чтобы представление распознало его?
ОБНОВЛЕНИЕ1 : я использую EntityFramework 4
ОБНОВЛЕНИЕ2 : Ответ, предоставленный Брайаном, правильно назначил ключ вручную.Для решения моей проблемы требовалось переименовать таблицу в «Контракты» из «контракта».Я также переименовал поле «контракт» в этой таблице в «Имя».Затем я удалил класс модели «Контракты» и заново создал его как «Контракт».Папка VIEW была переименована в Contract.Я предполагаю, что соглашения об именах нарушали распознавание кода первичного ключа.