#c# #asp.net-mvc #asp.net-mvc-3
#c# #asp.net-mvc #asp.net-mvc-3
Вопрос:
Основываясь на этом руководстве, я пытаюсь создать свой собственный проект, но у меня есть проблема
Visual Studio 2010 .net 4.0
SQL 2008 R2
Моя таблица базы данных
Iller
ID int
ILKod varchar(5)
IlAciklama nchar(20)
Моя Модель
namespace BilgiBankasi.Models
{
public class Iller
{
public int ID { get; set; }
public int ILKod { get; set; }
public string IlAciklama { get; set; }
}
public class BilgiBankasiEntities : DbContext
{
public DbSet<Iller> Iller { get; set; }
}
}
Мой контроллер
namespace BilgiBankasi.Controllers
{
public class IlTestController : Controller
{
//
// GET: /IlTest/
BilgiBankasiEntities _db = new BilgiBankasiEntities();
public ActionResult Index()
{
var model = _db.Iller.ToList();
return View(model);
}
public ActionResult Create()
{
return View();
}
}
}
Мой взгляд
@model IEnumerable<BilgiBankasi.Models.Iller>
В этой ситуации я получаю эту ошибку
Элемент модели, переданный в словарь, имеет тип ‘System.Коллекции.Общий.Список
1[BilgiBankasi.Iller]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[BilgiBankasi.Модели.Iller]’.
Но когда я использую
Это взято из Model.edmx
@model IEnumerable<BilgiBankasi.Iller>
отлично работает.
Чего мне не хватает? Я делаю что-то не так или есть ошибка? Строительные леса из модели также не работают. Я создаю все представления самостоятельно.
Комментарии:
1. попробуйте
var model = _db.Iller.ToList().AsEnumerable();
2. я тоже пробовал, ошибка заключается в том, что элемент модели, переданный в словарь, имеет тип ‘System.Data.Objects. ObjectSet
1[BilgiBankasi.Iller]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[BilgiBankasi.Models. Iller]’.3. Вы используете
DbContext
API, но, похоже, у вас тоже есть.edmx
файл (ObjectContext
API), не могли бы вы подробнее объяснить? Очистите и перестройте все решение, это тоже может быть полезно.4. Тот факт, что он сообщает о BilgiBankasi. Иллер, не тот, что в моделях, сообщает мне, что он не использует ваш тип модели. Предположительно, существует BilgiBankasi. Ошибка из edmx / dbml.
5. Согласен с Марком. Где-то должно быть
BilgiBankasi.Iller
зависание.
Ответ №1:
Обнаружена проблема. строка подключения была System.Data.Entity, и я меняю ее на System.Data.Sqlclient
Спасибо всем за потраченное время.