Я использую MySQL .net соединитель 6.4.4.0 и Entity Frame work 4.1 и пытаюсь создать самую базовую реализацию кода вначале.
public class myDB: DbContext
{
public DbSet<Vote> Votes { get; set; }
}
моя модель
public class Vote
{
public Guid Id { get; set; }
public int Value { get; set; }
}
мой домашний контроллер
public class HomeController : Controller
{
myDB_db = new myDB();
public ActionResult Index()
{
var model = _db.Votes;
return View(model);
}
}
мое строго типизированное представление (с использованием List scaffold)
@model IEnumerable<Namespace.Models.Vote>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Value)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Value)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
</table>
Создает таблицу «Голоса» в MySQL со всеми правильными свойствами.
Однако в этой строке выдается:
@ foreach (элемент var в Model)
с исключением:
"Таблица 'mydb.vote'не существует "
edit: Чтобы уточнить, я на самом деле хочу множественное использование таблиц, и, кажется, правильно создать таблицу.Я надеюсь выяснить причину расхождения в единственном / множественном числе.Ни один из уроков и видео от Microsoft / Plural Sight / Scott Gu не обрабатывает с помощью mysql, поэтому я должен представить, что .netconnector может быть виновником.Я также хотел бы избежать использования атрибутов [Table ("Votes")].По сути, я надеюсь на максимально возможное «готовое» решение.
edit2 (еще более релевантный код): когда я удаляю это ... таблицы не могут создать все вместе.но представление выдает исключение, ища «голоса», а не «голос».в пределах global.asax
protected void Application_Start()
{
Database.SetInitializer(new DropCreateDatabaseAlways<myDB>());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
public class myDBInitializer : DropCreateDatabaseAlways<myDB>
{
protected override void Seed(myDBcontext)
{
base.Seed(context);
}
}