Использование кода Entity Framework First для подключения к устаревшей базе данных Oracle с помощью devart dotconnect - PullRequest
0 голосов
/ 14 июля 2011

ОШИБКА: Тип clob не определен с пространством имен или псевдонимом.Только PrimitiveTypes могут использоваться без квалификации.

Я пытался использовать EF 4.1 (сначала код) с MVC 3, против устаревшей базы данных Oracle 10g, используя devart dotconnect.Устаревшая база данных не может быть изменена .Я пытаюсь прочитать данные в нем на веб-странице.

(Devart.Data.Oracle Version: 5.70.140.0)

Мне пришлось преодолеть несколько ошибок,Кстати, но пришел к этому:

ошибка 0040: Тип саба не квалифицирован с пространством имен или псевдонимом.Только PrimitiveTypes могут использоваться без квалификации.

Это мой код:

Информация о соединении с Web.config:

<add name="OdeToTrainingCoursesDB"
              connectionString="User Id=test;Password=test;Server=##.#.#.#;
                      Home=OraClient10g;Direct=True; 
                      Sid=dbTest;Persist Security Info=True"
              providerName="Devart.Data.Oracle" />



namespace AllInOne
{
    public class OdeToTrainingCoursesDB : DbContext
    {
        public DbSet<VENUES> VENUES { get; set; }
    }
}



using System.ComponentModel.DataAnnotations;

namespace AllInOne.Models
{
    public class VENUES
    {
        [Key]
        public int VENUE_ID { get; set; }
    }
}

РЕДАКТИРОВАТЬ: дополнительная информация, этопервая таблица (из многих), из которой я пытаюсь прочитать.

CREATE TABLE VENUES
(
  VENUE_ID    NUMBER(10)                        NOT NULL,
  VENUE_TYP   VARCHAR2(1 BYTE),
  BASE_ORG    NUMBER(10)                        NOT NULL,
  COUNTY      VARCHAR2(35 BYTE)
)

И контроллер MVC выдает это

Local = '(model) .Local' threwисключение типа 'System.Data.MetadataException'

using System.Web.Mvc;

namespace AllInOne.Controllers
{
    public class VenueController : Controller
    {
        readonly OdeToTrainingCoursesDB _db = new OdeToTrainingCoursesDB();
        public ActionResult Index()
        {
            var model = _db.VENUES;

            return View(model);
        }

    }
}

1 Ответ

1 голос
/ 14 июля 2011

Мы ответили вам на нашем форуме .

...