Search found 9 matches

by MonDeveloper
Sat 21 Sep 2013 13:09
Forum: Entity Developer
Topic: No Costraints added with Entity Framework 6
Replies: 1
Views: 1335

No Costraints added with Entity Framework 6

Hi Guys, I'm evaluating your brand new provider together with the of Entity Framework 6 RC.
I used docConnect for Oracle during my last 4 years with success and now I would like to upgrade.

When I try to create a new model (Data First) selecting only few (2) tables if I choose Entity Framework < 6 everything works fine, in case of Entity Framework 6 the constraint between the two tables selected is not added and, consequently, no Navigation Property is created!

Is this a tremendous bug or I'm forgetting some steps?

Thanks you guys,
mM
by MonDeveloper
Tue 27 Dec 2011 13:51
Forum: Entity Framework support
Topic: Index Hint
Replies: 8
Views: 2017

It's wonderful!
...but could me help to locate an example? ...thanks a lot!
by MonDeveloper
Tue 06 Dec 2011 12:51
Forum: dotConnect for Oracle
Topic: Oracle LOB Fetch Size
Replies: 6
Views: 9703

Oracle LOB Fetch Size

Hi Guys,
in a particular case of our infrastructure we need to manage a DB containing all our cached reports in order to quickly retrieve the information for our customers.

Our cache db is a very stupid single table DB, one table with one PK (Guid / raw(16)) and one BLOB column (min 5 KB, max 2 MB, avg 200 KB).

Our access strategy against this DB is:
- read (24/7)
- ins/upd (3 hours per day)

Taking apart all the pure DB performance considerations such as Partitioning, SECUREFILES vs BASIC BLOB, IOT, LOB Chuncking, Dedicated Tablespace Block Size and so on, we noticed that while we are inserting/updating very frequently, with an high degree of parallelism, the performances goes down and investigating the causes we found that the 92% of the time used by DB is related to this wait event: "SQL*Net more data from client".
This means that the DB has already received the update/insert command but it is waiting for receive the whole LOB (because the lobs are sent from client to server and viceversa chunked).

I suppose that this should happen also during read phase but the read phase is spreaded during all the 24 hours so it is less impacted by this wait event.

In our previous projects, we already addressed this problem using the Oracle ODP.NET and setting a command parameter (InitialLOBFetchSize), this parameter sets the amount of byte sent for each chunck (or something like that).

My question is: Exists something similar that we can use in devart dotConnect for Oracle that works using EntityFramework?
If you need we can provide a solution that reproduce this Oracle wait event.

Thanks in advance,
Monducci Marco
by MonDeveloper
Tue 12 Apr 2011 13:28
Forum: Entity Framework support
Topic: Unpredictable order for UPDATE statements during SaveChanges
Replies: 2
Views: 1462

This would be against the pattern "Unit of Work".
I need only one transaction to guarantee ACID approach.
by MonDeveloper
Mon 11 Apr 2011 16:40
Forum: Entity Framework support
Topic: Unpredictable order for UPDATE statements during SaveChanges
Replies: 2
Views: 1462

Unpredictable order for UPDATE statements during SaveChanges

Hi guys, I have a problem related to the order of the update statements during the SaveChanges() command. I try to explain further with a simple example.

We have 2 tables:
  • Persons
    PersonId number(10) [PK]
    FiscalCode varchar2(30)
  • PersonAliases
    PersonAliasesId number(10) [PK]
    PersonId number(10) [AK1,1] [FK with Persons]
    Name varchar2(16)
    PriorityNumber Number(2) [AK1,2]
On the PersonAliases table we have a unique index XAK1_PersonAliases that garantees the uniqueness of the tuple (PersonId, PriorityNumber).

The data present into DB are:
  • Persons (1 row)
    1 - CF001
  • PersonAliases (4 rows)
    101 - 1 - Luc - 1
    102 - 1 - Lucas - 2
    103 - 1 - Luk - 3
    104 - 1 - Luke - 4

These are our c# steps:
1. Retrieve from DB the person with PersonID = 1 (1 row retrieved) .
2. Load the Person's NavigationProperty PersonAliases (4 rows retrieved).
3. Get PersonAlias with PersonAliasId = 102 and set its PriorityNumber = 99.
4. Get PersonAlias with PersonAliasId = 104 and set its PriorityNumber = 2.
5. Context.Persons.ApplyChanges(p);
6. Context.SaveChanges();


At this point, sometimes, we receive an error from DB due to the XAK1_PersonAliases unique index!

Using dbMonitor we understood that the produced update statements are 2 as expected but the order is unpredictable, sometimes the first one is the update of the PersonAlias with PersonAliasID=102, sometimes the 104 and this is the key point!

We know that EF has in charge to detect the correct order of the statements following the relations between tables and thanks god for it, it works perfectly in case of insert and delete but in case of update?

There is a way in wich we can force the order of these update statements?
If not, any other workaround?


Finally, at this link you can find a thread for a similar problem, unfortunately already open!


Thanks very much guys for the support!
mM
by MonDeveloper
Mon 04 Apr 2011 08:28
Forum: Entity Framework support
Topic: ORA-01747: invalid user.table.column, table.column, or colum
Replies: 5
Views: 3808

Sent solution to support via email.

Thanks guys!
mM
by MonDeveloper
Thu 31 Mar 2011 18:28
Forum: Entity Framework support
Topic: ORA-01747: invalid user.table.column, table.column, or colum
Replies: 5
Views: 3808

ORA-01747: invalid user.table.column, table.column, or colum

Hi guys, we've got a serious problem introduced during the dotConnect upgrade from version 6.10.111 to 6.10.126.

My scenario is the following:

We are using the Self Tracking Entities model against an Oracle 11g2 db.

All our oracle tables have the column ORA_ROWSCN setted as concurrencyToken (yes, I know that the oracle pseudocolumn ora_rowscn doesn't fits all the concurrencyToken behaviours but I accepted it).

We have 2 tables: A and B, the pk of A is also the pk of B and B is related to A with a fk (A is parent of B).

We read B and A with a Linq to entities, we updated B, we attached the 2 entities to the context and finally we saved changes.

With the version 6.10.111 all works fine.

Whit the version 6.10.126 we receive this error:
{"ORA-06550: line 5, column 8:\nPL/SQL: ORA-01747: invalid user.table.column, table.column, or column specification\nORA-06550: line 4, column 1:\nPL/SQL: SQL Statement ignored"}

and using the "DBMonitor" tool we captured the statement in error:

DECLARE
updatedRowid ROWID;
BEGIN
UPDATE TABLE_A
SET ORA_ROWSCN = ORA_ROWSCN
WHERE UIDID = :p0 AND ORA_ROWSCN = :p1
RETURNING ROWID INTO updatedRowid;
OPEN :outParameter FOR SELECT ORA_ROWSCN FROM TABLE_A WHERE ROWID = updatedRowid;
END;

For me it's clear, with this new version, the devart provider try to update the table A even if it doesn't have any changes!! Doing so the provider doesn't treat well the concurrencyToken, I think this is the mess!!!
The same "c# code" with the provider 6.10.111 doesn't fail because it doesn't try to update table A !!! and it is correct because the table A doesn't have any change !!!

Please, let us know if you are able to reproduce the error (the usecase is very simple) otherwise we could sent you a test solution but this could be long and complex for us....
by MonDeveloper
Tue 16 Feb 2010 11:06
Forum: dotConnect for Oracle
Topic: Trial Period Expired 1 minute after install!!!
Replies: 3
Views: 1503

You have catch the problem!

Wow if you get all the right answers in a while I'll buy your product right now!!!!
I'm really happy to find a so clue and so quick support!

Thanks, I'll wait for the next Beta.
Monducci Marco
by MonDeveloper
Mon 15 Feb 2010 19:33
Forum: dotConnect for Oracle
Topic: Trial Period Expired 1 minute after install!!!
Replies: 3
Views: 1503

Trial Period Expired 1 minute after install!!!

Hi, me and some my colleagues are trying to evaluate your software but we aren't able to do it due to an error we receive few minutes after having installed it!!!

The error is always the same, when we try to open Visual Studio (or when we try to add a Entity Model or when we try to add a Linq to Oracle model) we receive the DevArt popup error message indicating that our 30 days Trial Period is Expired!!!

:-( Please, could you help us?
I know that we are failing in some points (because many other users run succesfully the trial) but please, help us to evaluate your SW !!!!