使用实体框架代码首先使用devart dotconnect连接到旧版Oracle数据库

时间:2011-07-14 10:02:12

标签: c# oracle10g ef-code-first entity-framework-ctp5 dotconnect

错误:类型clob未使用命名空间或别名限定。只有PrimitiveTypes可以不受限制地使用。

我一直在尝试使用EF4(代码优先)和MVC 3,使用devart dotconnect对传统的Oracle 10g数据库。遗留数据库无法更改。我正在尝试将其中的数据读取到网页上。

(Devart.Data.Oracle版本:5.70.140.0)

我一路上遇到了一些错误,但是来到了这个错误:

  

错误0040:类型clob未使用命名空间或别名限定。   只有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 Controller抛出此

  

Local ='(model).Local'抛出了类型的异常   '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 个答案:

答案 0 :(得分:1)

我们已经回复了您at our forum