Page 1 of 1

Entity framwrok return no Data

Posted: Tue 10 Jul 2012 17:18
by chamamo
Hello
I am using DotConnect for Oracle with entity framwork and I have no Data when I execute my query, I have 0 rows every time, there is no exeption.

Code: Select all

var list = (from c in Context.Set<entity>()
                       where c.Id>0
                       select c.Id).ToList();
Generated query:

Code: Select all

SELECT 
"Extent1"."Id"
FROM SHEMA."entity" "Extent1"
WHERE "Extent1"."Id" > 0
this query work fine with SQL Server
any Idea?


thak you in advance.

Re: Entity framwrok return no Data

Posted: Fri 13 Jul 2012 10:54
by Shalex
This works in our environment.
chamamo wrote:

Code: Select all

SELECT
"Extent1"."Id"
FROM SHEMA."entity" "Extent1"
WHERE "Extent1"."Id" > 0
Try executing the query against your database using a plain ADO.NET (OracleCommand.ExecuteReader) or some database management tool (OraDeveloper Studio, SQL Developer, SQL Plus, etc). If the query itself returns result set but nothing is returned via Entity Framework, please send us a small test project with the corresponding DDL/DML script so that we can reproduce the issue in our environment.

Re: Entity framwrok return no Data

Posted: Fri 13 Jul 2012 13:30
by chamamo
I tried with OracleCommand and I had a result,

I found how to do, in Oracle I must do mapping with tables, fields and schema in uppercase

the generated qery is:

Code: Select all

SELECT
"Extent1"."ID"
FROM SHEMA."ENTITY" "Extent1"
WHERE "Extent1"."ID" > 0
and it work,

can devart transform the generated query in uppercase? there is an option in oracle to accept queries like this in lowercase?

thank you

Re: Entity framwrok return no Data

Posted: Mon 16 Jul 2012 14:09
by Shalex
chamamo wrote:can devart transform the generated query in uppercase?
Upper case is a default case for Oracle. Try disabling quoting (add reference to the %ProgramFiles%\Devart\dotConnect\Oracle\Entity\EF4\Devart.Data.Oracle.Entity.dll assembly):

Code: Select all

    var config = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance;
    config.Workarounds.DisableQuoting = true;
So the result query will be like:

Code: Select all

SELECT
Extent1.Id
FROM SHEMA.entity Extent1
WHERE Extent1.Id > 0