Don't worry: I only work on MS platform :)

Joining our effort with Mono team is a situation where everyone has to win,
MS .NET users included.

Pascal.

jabber/gtalk: [email protected]
msn: [email protected]



On Fri, Feb 27, 2009 at 17:48, Giacomo Tesio <[email protected]> wrote:

> A warning raise in my mind, looking at the documentation you provided:
> don't forget Microsoft programmers!
>
> I'm not a Microsoft entusiasts (I learnt C# 3 month ago, while I'm used to
> Debian GNU/Linux from potato's days), but I hope that Mono will not lead
> DbLinq to be incompatible with the Microsoft environment.
>
> This is a key point in our decision. In the next 2 year we will develop in
> a Microsoft environment: by choosing DbLinq we need to know that its
> compatibility will be granted in the future (at least until linq will exists
> in the Microsoft environment :-D)
>
>
> Giacomo
> PS: I've sent you an invite on GTalk...
>
>
>
> On Fri, Feb 27, 2009 at 1:12 PM, Pascal Craponne <[email protected]> wrote:
>
>> One detail: on the tests page, the first column is the LINQ to SQL column.
>> The tests from this column use the official MS LINQ to SQL, so if they
>> succeed, do not consider that DbLinq is capable to do so. If they fail, you
>> may consider that the test sucks :)
>> Pascal.
>>
>> jabber/gtalk: [email protected]
>> msn: [email protected]
>>
>>
>>
>>   On Fri, Feb 27, 2009 at 13:08, Pascal Craponne <[email protected]>wrote:
>>
>>> Hi Giacomo,
>>> this would be a great opportunity to DbLinq if you could contribute to
>>> it.
>>> I wrote some documentation that you can find at
>>> http://linq.to/db/documentation. There is an overview, but it is a real
>>> over-view (from very high :))
>>>
>>> I'd answer to stable features by telling you what's unstable or still not
>>> implemented:
>>> - complex subexpressions (involving EntitySets): not implemented.
>>> - cascading: not implemented.
>>> - and a lot of SQL specific features
>>>
>>> You can find all unit tests results at page http://linq.to/db/Tests
>>> This will probably help you to see what's done and what's not:
>>> - If it doesn't work for all databases, then it's a missing engine
>>> feature
>>> - if it works for a few databases, then it's either to specific to these
>>> databases, or not implemented for the others.
>>>
>>> Regarding the support you could get:
>>> - Me (I wrote the current SQL generation engine, and refactored almost
>>> all the code... And I like that :)), probably available regularly and at
>>> least capable to answer to most of your questions, general or technical.
>>> - The Mono guys (Atsushi Eno, maybe Pablo IƱigo Blasco, he wrote a lot
>>> of unit tests and did a lot of work for the project, too).
>>>
>>> I had no contact recently with Mono people, so I can't even tell the
>>> status of Mono and their overall strategy.
>>>
>>> Since LINQ to SQL won't probably be maintained anymore by Microsoft, and
>>> since LINQ to Entities (the ADO Entity Framework) doesn't appear to be much
>>> convincing until now, there may be some future for DbLinq... If we work on
>>> it hard enough :)
>>>
>>> Pascal.
>>>
>>> jabber/gtalk: [email protected]
>>> msn: [email protected]
>>>
>>>
>>>
>>>   On Fri, Feb 27, 2009 at 12:19, [email protected] <[email protected]>wrote:
>>>
>>>>
>>>> I'm evaluating DbLinq for production use against Oracle (and possibly
>>>> SQL server) backend in a Microsoft environment (no Mono/Linux, yet).
>>>>
>>>> If we will choise to invest on it we will dedicate some effort to the
>>>> project too.
>>>>
>>>> Since our customer require reliability, we absolutely need to reach a
>>>> stable (yet quite rich) set of functionality to build application upon
>>>> during the next 2/3 years.
>>>>
>>>> Since that, I've got a look to the code (from svn).
>>>> So I think DbLinq need:
>>>>
>>>> - a better documentation about the overall architecture (absolutely
>>>> urgent, to allow developers to help)
>>>> - a catalogue of the stable features provided by the different
>>>> providers.
>>>>
>>>> BTW, since to evaluate the use of DbLinq I need to know it a bit more,
>>>> I'd like to get involved too.
>>>>
>>>>
>>>> Actually I've noticed some bugs that I'm tring to fix (but with little
>>>> success, the appointed to me the need of better architecture and core
>>>> documentation)
>>>> As you could understand, to choice a tecnology upon which build
>>>> complex multi layer applications for the next 2 years, I need to
>>>> undestand also which support we could get from the community, and how
>>>> easily we could fix the bug we will encounter (obviously sending fix
>>>> back to the comunity too...)
>>>>
>>>>
>>>> Can you give me a more general overview?
>>>>
>>>>
>>>> Giacomo Tesio
>>>>
>>>>
>>>> PS: actually I'm working on
>>>> BUG 1:
>>>>
>>>>             var res = from product in db.Products
>>>>                       join detail in db.OrderDetails on
>>>> product.ProductID equals detail.ProductID
>>>>                       join order in db.Orders on detail.OrderID
>>>> equals order.OrderID
>>>>                       select product;
>>>>
>>>> Exception thrown:
>>>> System.Reflection.TargetInvocationException was unhandled
>>>>  Message="Exception has been thrown by the target of an invocation."
>>>>  Source="mscorlib"
>>>>  StackTrace:
>>>>       at System.RuntimeMethodHandle._InvokeMethodFast(Object target,
>>>> Object[] arguments, SignatureStruct& sig, MethodAttributes
>>>> methodAttributes, RuntimeTypeHandle typeOwner)
>>>>       at System.RuntimeMethodHandle.InvokeMethodFast(Object target,
>>>> Object[] arguments, Signature sig, MethodAttributes methodAttributes,
>>>> RuntimeTypeHandle typeOwner)
>>>>       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,
>>>> BindingFlags invokeAttr, Binder binder, Object[] parameters,
>>>> CultureInfo culture, Boolean skipVisibilityChecks)
>>>>       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,
>>>> BindingFlags invokeAttr, Binder binder, Object[] parameters,
>>>> CultureInfo culture)
>>>>       at System.Reflection.RuntimePropertyInfo.SetValue(Object obj,
>>>> Object value, BindingFlags invokeAttr, Binder binder, Object[] index,
>>>> CultureInfo culture)
>>>>       at System.Reflection.RuntimePropertyInfo.SetValue(Object obj,
>>>> Object value, Object[] index)
>>>>       at DbLinq.Data.Linq.DataContext.SetEntitySetsQueries(Object
>>>> entity) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \DataContext.cs:line 389
>>>>       at DbLinq.Data.Linq.DataContext._GetOrRegisterEntity(Object
>>>> entity) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \DataContext.cs:line 319
>>>>       at DbLinq.Data.Linq.DataContext.Register(Object entity, Type
>>>> asType) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \DataContext.cs:line 496
>>>>       at
>>>>
>>>> DbLinq.Data.Linq.Sugar.Implementation.QueryRunner.<Select>d__0`1.MoveNext
>>>> () in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar
>>>> \Implementation\QueryRunner.cs:line 137
>>>>       at System.Collections.Generic.List`1..ctor(IEnumerable`1
>>>> collection)
>>>>       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
>>>>       at DbLinq.Mssql.Example.Program.Main(String[] args) in C:
>>>> \Projects\Labs\Linq\DbLinq\examples\DbLinq.Mssql.Example
>>>> \Program.cs:line 51
>>>>       at System.AppDomain._nExecuteAssembly(Assembly assembly, String
>>>> [] args)
>>>>       at System.AppDomain.ExecuteAssembly(String assemblyFile,
>>>> Evidence assemblySecurity, String[] args)
>>>>       at
>>>> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>>>>       at System.Threading.ThreadHelper.ThreadStart_Context(Object
>>>> state)
>>>>       at System.Threading.ExecutionContext.Run(ExecutionContext
>>>> executionContext, ContextCallback callback, Object state)
>>>>       at System.Threading.ThreadHelper.ThreadStart()
>>>>  InnerException: System.NullReferenceException
>>>>       Message="Object reference not set to an instance of an object."
>>>>       Source="DbLinq.Mssql.Example"
>>>>       StackTrace:
>>>>            at nwind.Product.set_OrderDetails(EntitySet`1 value) in C:
>>>> \Projects\Labs\Linq\DbLinq\examples\DbLinq.Mssql.Example\nwind
>>>> \Northwind.cs:line 2492
>>>>
>>>> BUG 2 (adding any where)
>>>>
>>>>             var res = from product in db.Products
>>>>                       join detail in db.OrderDetails on
>>>> product.ProductID equals detail.ProductID
>>>>                       join order in db.Orders on detail.OrderID
>>>> equals order.OrderID
>>>>                       where order.CustomerID == "ID123"
>>>>                       select product;
>>>>
>>>> Exception thrown:
>>>> System.NullReferenceException was unhandled
>>>>  Message="Object reference not set to an instance of an object."
>>>>  Source="System.Core"
>>>>  StackTrace:
>>>>       at System.Linq.Expressions.Expression.AreReferenceAssignable
>>>> (Type dest, Type src)
>>>>       at System.Linq.Expressions.Expression.ValidateNewArgs
>>>> (ConstructorInfo constructor, ReadOnlyCollection`1& arguments,
>>>> ReadOnlyCollection`1 members)
>>>>       at System.Linq.Expressions.Expression.New(ConstructorInfo
>>>> constructor, IEnumerable`1 arguments, IEnumerable`1 members)
>>>>       at
>>>>
>>>> DbLinq.Data.Linq.Sugar.ExpressionMutator.Implementation.NewExpressionMutator.Mutate
>>>> (IList`1 operands) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs:line
>>>> 54
>>>>       at
>>>>
>>>> DbLinq.Data.Linq.Sugar.ExpressionMutator.ExpressionMutatorExtensions.ChangeOperands
>>>> [T](T expression, IList`1 operands, Boolean checkForChanges) in C:
>>>> \Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\ExpressionMutator
>>>> \ExpressionMutatorExtensions.cs:line 79
>>>>       at
>>>>
>>>> DbLinq.Data.Linq.Sugar.ExpressionMutator.ExpressionMutatorExtensions.ChangeOperands
>>>> [T](T expression, IList`1 operands) in C:\Projects\Labs\Linq\DbLinq\src
>>>> \DbLinq\Data\Linq\Sugar\ExpressionMutator
>>>> \ExpressionMutatorExtensions.cs:line 116
>>>>       at
>>>>
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeOperator
>>>> (Expression expression, BuilderContext builderContext) in C:\Projects
>>>> \Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \ExpressionDispatcher.Analyzer.cs:line 838
>>>>       at
>>>>
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeNewOperator
>>>> (Expression expression, BuilderContext builderContext) in C:\Projects
>>>> \Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \ExpressionDispatcher.Analyzer.cs:line 857
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.Analyze
>>>> (Expression expression, IList`1 parameters, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 126
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.Analyze
>>>> (Expression expression, BuilderContext builderContext) in C:\Projects
>>>> \Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \ExpressionDispatcher.Analyzer.cs:line 72
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeLambda
>>>> (Expression expression, IList`1 parameters, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 518
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.Analyze
>>>> (Expression expression, IList`1 parameters, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 82
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeQuote
>>>> (Expression piece, IList`1 parameters, BuilderContext builderContext)
>>>> in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar
>>>> \Implementation\ExpressionDispatcher.Analyzer.cs:line 811
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.Analyze
>>>> (Expression expression, IList`1 parameters, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 86
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeJoin
>>>> (IList`1 parameters, TableJoinType joinType, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 991
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeJoin
>>>> (IList`1 parameters, BuilderContext builderContext) in C:\Projects\Labs
>>>> \Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \ExpressionDispatcher.Analyzer.cs:line 940
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeCall
>>>> (MethodInfo method, IList`1 parameters, BuilderContext builderContext)
>>>> in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar
>>>> \Implementation\ExpressionDispatcher.Analyzer.cs:line 159
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.AnalyzeCall
>>>> (MethodCallExpression expression, IList`1 parameters, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 142
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.Analyze
>>>> (Expression expression, IList`1 parameters, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 80
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.ExpressionDispatcher.Analyze
>>>> (Expression expression, Expression parameter, BuilderContext
>>>> builderContext) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq
>>>> \Sugar\Implementation\ExpressionDispatcher.Analyzer.cs:line 67
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.QueryBuilder.BuildExpressionQuery
>>>> (ExpressionChain expressions, Expression tableExpression,
>>>> BuilderContext builderContext) in C:\Projects\Labs\Linq\DbLinq\src
>>>> \DbLinq\Data\Linq\Sugar\Implementation\QueryBuilder.cs:line 225
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.QueryBuilder.BuildExpressionQuery
>>>> (ExpressionChain expressions, BuilderContext builderContext) in C:
>>>> \Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \QueryBuilder.cs:line 193
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.QueryBuilder.BuildExpressionQuery
>>>> (ExpressionChain expressions, QueryContext queryContext) in C:\Projects
>>>> \Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \QueryBuilder.cs:line 87
>>>>       at
>>>> DbLinq.Data.Linq.Sugar.Implementation.QueryBuilder.GetSelectQuery
>>>> (ExpressionChain expressions, QueryContext queryContext) in C:\Projects
>>>> \Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation
>>>> \QueryBuilder.cs:line 391
>>>>       at DbLinq.Data.Linq.Implementation.QueryProvider`1.GetQuery
>>>> (Expression expression) in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data
>>>> \Linq\Implementation\QueryProvider.cs:line 100
>>>>       at DbLinq.Data.Linq.Implementation.QueryProvider`1.GetEnumerator
>>>> () in C:\Projects\Labs\Linq\DbLinq\src\DbLinq\Data\Linq\Implementation
>>>> \QueryProvider.cs:line 122
>>>>       at System.Collections.Generic.List`1..ctor(IEnumerable`1
>>>> collection)
>>>>       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
>>>>       at DbLinq.Mssql.Example.Program.Main(String[] args) in C:
>>>> \Projects\Labs\Linq\DbLinq\examples\DbLinq.Mssql.Example
>>>> \Program.cs:line 52
>>>>       at System.AppDomain._nExecuteAssembly(Assembly assembly, String
>>>> [] args)
>>>>       at System.AppDomain.ExecuteAssembly(String assemblyFile,
>>>> Evidence assemblySecurity, String[] args)
>>>>       at
>>>> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>>>>       at System.Threading.ThreadHelper.ThreadStart_Context(Object
>>>> state)
>>>>       at System.Threading.ExecutionContext.Run(ExecutionContext
>>>> executionContext, ContextCallback callback, Object state)
>>>>       at System.Threading.ThreadHelper.ThreadStart()
>>>>
>>>>
>>>>
>>>
>>   >>
>>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DbLinq" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/dblinq?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to