A&O Pablo Iñigo 2008-08-6: Integration: System.Data.Linq & DbLinq

0 views
Skip to first unread message

Pablo Iñigo Blasco

unread,
Aug 6, 2008, 5:21:21 PM8/6/08
to mono-s...@googlegroups.com
ACHIEVEMENTS

* To implement EntitySet support, at least reading operations. [DONE] we already can use EntitySets like in CLR, ie: employee.Orders.First(o=>o.Freight>0.0). Besides many of EntitySet 's methods are already implemented: IList methods, Assign, SetSource...

* To implement transactions support. [CANCELLED]

* Continue with the second last week objective: To fix existing tests: making them more coherent regards CLR/System.Data.Linq.dll (this assembly should pass all test, currently it doesn't do it) [IN PROGRESS, more fixed and new tests, also some obsolete tests removed]

* To research more about how to front joins implementation. [PARTIALLY DONE, but nothing useful implemented, current approach don't work]

BONUS
* Trim function support implemented (String function) [DONE]
* DbMetal support for EntitySets implemented (before all EntitySets properties returned null value) [DONE]
* Bug solved: Table<TEntity>.GetEnumerator() didn't work properly. The only way to obtain entities from tables was to create a query. [DONE]

NEXT WEEK OBJECTIVES
* To implement some string functions not yet supported (in where clauses): IndexOf, Insert, Remove, Replace, StartsWith, EndsWith (everyone of them supported by the linq2sql engine), taking special attention to SqlServer vendor.

* To implement some DateTime and TimeSpam functions not yet supported: [Total]/Day/Month/Year/Second/Minute/Hour, Parse, New, Add, Sub (everyone of them supported by the linq2sql engine), taking special attention to SqlServer vendor.

* Continue with the third last week objective: To fix existing tests: making them more coherent regards CLR/System.Data.Linq.dll (this assembly should pass all test, currently it doesn't do it)

* To build a little report about the state of System.Data.Linq classes exclusive of mono (not existing in DbLinq, ie: DbLinq uses CLR/System.Data.Linq.Mapping namespace) trying to detect potential problems and different behaviours between DbLinq project and Mono/System.Data.Linq.

* Try to tackle the following working sample: (Entities comparisons)
from od in db.OrderDetails
where od.Order== X
select ...

Where X is an external entity parameter (or even null), currently our engine translate that query as  "od.*=X" (of course it crashes) when maybe the correct behaviour would be to make a join using the entity PKs.



Atsushi Eno

unread,
Aug 6, 2008, 8:53:51 PM8/6/08
to mono-s...@googlegroups.com
Hello,

Pablo Iñigo Blasco wrote:
> ACHIEVEMENTS
>
> * To implement EntitySet support, at least reading operations. [DONE] we
> already can use EntitySets like in CLR, ie:
> employee.Orders.First(o=>o.Freight>0.0). Besides many of EntitySet 's
> methods are already implemented: IList methods, Assign, SetSource...

That's a great news :)

> * To build a little report about the state of System.Data.Linq classes
> exclusive of mono (not existing in DbLinq, ie: DbLinq uses
> CLR/System.Data.Linq.Mapping namespace) trying to detect potential
> problems and different behaviours between DbLinq project and
> Mono/System.Data.Linq.

To my understanding, S.D.L.Mapping types are almost abstract and
attribute-based mapping types are implemented in DBLinq. (XML-based
mapping is not AFAIR.) In other words, MS would not have implementation
that shows behavioral differences. Is there any different issue
known yet?

Atsushi Eno

Pablo Iñigo Blasco

unread,
Aug 11, 2008, 2:31:48 PM8/11/08
to mono-s...@googlegroups.com


On Thu, Aug 7, 2008 at 2:53 AM, Atsushi Eno <ats...@ximian.com> wrote:
To my understanding, S.D.L.Mapping types are almost abstract and
attribute-based mapping types are implemented in DBLinq. (XML-based
mapping is not AFAIR.) In other words, MS would not have implementation
that shows behavioral differences. Is there any different issue
known yet?

I have invested about it, the only problem found is that f System.Data.Linq.Binary isn't implemented and it causes a few of errors in our tests, with the exception of it both behaviours are identical
Reply all
Reply to author
Forward
0 new messages