--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>\r
+<Connections>\r
+ <Connection assembly="DbLinq.SqlServer_test">Data Source=.\SQLExpress;Integrated Security=True;Initial Catalog=Northwind</Connection>\r
+ <Connection assembly="DbLinq.SqlServer_test_strict">Data Source=.\SQLExpress;Integrated Security=True;Initial Catalog=Northwind</Connection>\r
+\r
+ <Connection assembly="DbLinq.Oracle_test_odp">Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED))); User Id = Northwind; Password = linq2</Connection>\r
+ <Connection assembly="DbLinq.Oracle_test">Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED))); User Id = Northwind; Password = linq2</Connection>\r
+\r
+ <Connection assembly="DbLinq.Sqlite_test">Data Source=Northwind.db3</Connection>\r
+ <Connection assembly="DbLinq.Sqlite_test_mono">Data Source=Northwind.db3</Connection>\r
+ <Connection assembly="DbLinq.Sqlite_test_mono_strict">DbLinqProvider=Sqlite;Data Source=Northwind.db3</Connection>\r
+ <Connection assembly="DbLinq.MySql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>\r
+ <Connection assembly="DbLinq.PostgreSql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>\r
+ <Connection assembly="DbLinq.Ingres_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>\r
+ <Connection assembly="DbLinq.Firebird_test">server={0};user id=LinqUser; password=linq2; database=c:\Program Files\Firebird\Firebird_2_1\examples\nwind\NORTHWIND.FDB</Connection>\r
+</Connections>\r
+\r
+<!--\r
+<Connection assembly="DbLinq.MySql_test">server=hasselhoff.eii.us.es;user id=LinqUser; password=linq2; database=Northwind</Connection>\r
+<Connection assembly="DbLinq.PostgreSql_test">server=hasselhoff.eii.us.es;user id=LinqUser; password=linq2; database=postgreNorthwind</Connection>\r
+\r
+ <Connection assembly="DbLinq.MySql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>\r
+ <Connection assembly="DbLinq.PostgreSql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>\r
+-->\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
<DebugType>pdbonly</DebugType>\r
<Optimize>true</Optimize>\r
- <OutputPath>bin\Release\</OutputPath>\r
+ <OutputPath>..\..\build\</OutputPath>\r
<DefineConstants>TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
}\r
return outParamValues;\r
}\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "FirebirdSql.Data.FirebirdClient.DLL",\r
- className = "FbConnection",\r
- };\r
- }\r
}\r
}\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{6BC45425-283A-4D51-881A-D1E14A699D57}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.Firebird_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;FIREBIRD</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;FIREBIRD</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="FirebirdSql.Data.FirebirdClient, Version=2.1.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\FirebirdSql.Data.FirebirdClient.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Windows.Forms" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.FbSql.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.Firebird.csproj">\r
+ <Project>{E1AB58E4-357E-4031-90F3-6AABA9623047}</Project>\r
+ <Name>DbLinq.Firebird</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.InvariantCulture;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new FirebirdSql.Data.FirebirdClient.FbCommand(sql, (FirebirdSql.Data.FirebirdClient.FbConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new FirebirdSql.Data.FirebirdClient.FbConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.Firebird.FirebirdVendor();\r
+ }\r
+ }\r
+}\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-#if MONO_STRICT
-using System.Data.Linq.Sql;
-#else
-using DbLinq.Data.Linq.Sql;
-#endif
-using DbLinq.Vendor.Implementation;
-
-namespace DbLinq.Ingres
-{
-#if MONO_STRICT
- internal
-#else
- public
-#endif
- class IngresSqlProvider : SqlProvider
- {
- public override SqlStatement GetInsertIds(IList<SqlStatement> outputParameters, IList<SqlStatement> outputExpressions)
- {
- // no parameters? no need to get them back
- if (outputParameters.Count == 0)
- return "";
- // otherwise we keep track of the new values
- return SqlStatement.Format("SELECT {0}",
- SqlStatement.Join(", ", (from outputExpression in outputExpressions
- select outputExpression.Replace("next value", "current value", true)).ToArray())
- );
- }
-
- protected override SqlStatement GetLiteralCount(SqlStatement a)
- {
- return "COUNT(*)";
- }
-
- protected override SqlStatement GetLiteralStringToLower(SqlStatement a)
- {
- return string.Format("LOWER({0})", a);
- }
-
- protected override SqlStatement GetLiteralStringToUpper(SqlStatement a)
- {
- return string.Format("UPPER({0})", a);
- }
-
- public override SqlStatement GetLiteralLimit(SqlStatement select, SqlStatement limit)
- {
- // return string.Format("SELECT FIRST {0} FROM ({1})", limit, select);
- var trimSelect = "SELECT ";
- if (select.Count > 0 && select[0].Sql.StartsWith(trimSelect))
- {
- var selectBuilder = new SqlStatementBuilder(select);
- var remaining = select[0].Sql.Substring(trimSelect.Length);
- selectBuilder.Parts[0] = new SqlLiteralPart(remaining);
- return SqlStatement.Format("SELECT FIRST {0} {1}", limit, selectBuilder.ToSqlStatement());
- }
- throw new ArgumentException("Invalid SELECT format");
- }
-
- public override SqlStatement GetLiteralLimit(SqlStatement select, SqlStatement limit, SqlStatement offset, SqlStatement offsetAndLimit)
- {
- // Ingres 9.2 and above support offset clauses now
- return SqlStatement.Format("{0} OFFSET {1}", GetLiteralLimit(select, limit), offset);
- }
-
- public override string GetParameterName(string nameBase)
- {
- return "?";
- }
-
- protected override bool IsNameCaseSafe(string dbName)
- {
- return dbName == dbName.ToLower();
- }
-
- protected override SqlStatement GetLiteralStringConcat(SqlStatement a, SqlStatement b)
- {
- // This needs to be bracketed in case subsequent functions are called upon it
- return SqlStatement.Format("({0} || {1})", a, b);
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+#if MONO_STRICT\r
+using System.Data.Linq.Sql;\r
+#else\r
+using DbLinq.Data.Linq.Sql;\r
+#endif\r
+using DbLinq.Vendor.Implementation;\r
+\r
+namespace DbLinq.Ingres\r
+{\r
+#if MONO_STRICT\r
+ internal\r
+#else\r
+ public\r
+#endif\r
+ class IngresSqlProvider : SqlProvider\r
+ {\r
+ public override SqlStatement GetInsertIds(IList<SqlStatement> outputParameters, IList<SqlStatement> outputExpressions)\r
+ {\r
+ // no parameters? no need to get them back\r
+ if (outputParameters.Count == 0)\r
+ return "";\r
+ // otherwise we keep track of the new values\r
+ return SqlStatement.Format("SELECT {0}",\r
+ SqlStatement.Join(", ", (from outputExpression in outputExpressions\r
+ select outputExpression.Replace("next value", "current value", true)).ToArray())\r
+ );\r
+ }\r
+\r
+ protected override SqlStatement GetLiteralCount(SqlStatement a)\r
+ {\r
+ return "COUNT(*)";\r
+ }\r
+\r
+ protected override SqlStatement GetLiteralStringToLower(SqlStatement a)\r
+ {\r
+ return string.Format("LOWER({0})", a);\r
+ }\r
+\r
+ protected override SqlStatement GetLiteralStringToUpper(SqlStatement a)\r
+ {\r
+ return string.Format("UPPER({0})", a);\r
+ }\r
+\r
+ public override SqlStatement GetLiteralLimit(SqlStatement select, SqlStatement limit)\r
+ {\r
+ // return string.Format("SELECT FIRST {0} FROM ({1})", limit, select);\r
+ var trimSelect = "SELECT ";\r
+ if (select.Count > 0 && select[0].Sql.StartsWith(trimSelect))\r
+ {\r
+ var selectBuilder = new SqlStatementBuilder(select);\r
+ var remaining = select[0].Sql.Substring(trimSelect.Length);\r
+ selectBuilder.Parts[0] = new SqlLiteralPart(remaining);\r
+ return SqlStatement.Format("SELECT FIRST {0} {1}", limit, selectBuilder.ToSqlStatement());\r
+ }\r
+ throw new ArgumentException("Invalid SELECT format");\r
+ }\r
+\r
+ public override SqlStatement GetLiteralLimit(SqlStatement select, SqlStatement limit, SqlStatement offset, SqlStatement offsetAndLimit)\r
+ {\r
+ // Ingres 9.2 and above support offset clauses now\r
+ return SqlStatement.Format("{0} OFFSET {1}", GetLiteralLimit(select, limit), offset);\r
+ }\r
+\r
+ public override string GetParameterName(string nameBase)\r
+ {\r
+ return "?";\r
+ }\r
+\r
+ protected override bool IsNameCaseSafe(string dbName)\r
+ {\r
+ return dbName == dbName.ToLower();\r
+ }\r
+\r
+ protected override SqlStatement GetLiteralStringConcat(SqlStatement a, SqlStatement b)\r
+ {\r
+ // This needs to be bracketed in case subsequent functions are called upon it\r
+ return SqlStatement.Format("({0} || {1})", a, b);\r
+ }\r
+ }\r
+}\r
}\r
return outParamValues;\r
}\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "Ingres.Client.DLL",\r
- className = "IngresConnection",\r
- };\r
- }\r
}\r
}\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}</ProjectGuid>\r
+ <OutputType>WinExe</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit_Ingres</RootNamespace>\r
+ <AssemblyName>DbLinq.Ingres_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;INGRES</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;INGRES</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Ingres.Client, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7ab2d069d405ce41, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\Ingres.Client.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.Ingres.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ <SubType>Code</SubType>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program2Ing.cs">\r
+ <Link>Providers\Program2Ing.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <None Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </None>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.Ingres.csproj">\r
+ <Project>{90D57CD9-D704-409E-88A1-0F22AC79065A}</Project>\r
+ <Name>DbLinq.Ingres</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>\r
+<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Northwind" Class="Northwind" Provider="Ingres" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">\r
+ <Table Name="linquser.categories" Member="Categories">\r
+ <Type Name="Category">\r
+ <Association Name="linquser_products_categoryid_linquser_categories_categoryid" Member="Products" Type="Product" ThisKey="CategoryId" OtherKey="CategoryId" />\r
+ <Column Name="categoryid" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="next value for "linquser"."categories_seq"" />\r
+ <Column Name="categoryname" Member="CategoryName" Storage="categoryName" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="description" Member="Description" Storage="description" Type="System.String" DbType="VARCHAR(500)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="picture" Member="Picture" Storage="picture" Type="System.Byte[]" DbType="LONG BYTE" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.customers" Member="Customers">\r
+ <Type Name="Customer">\r
+ <Association Name="linquser_orders_customerid_linquser_customers_customerid" Member="Orders" Type="Order" ThisKey="CustomerId" OtherKey="CustomerId" />\r
+ <Column Name="address" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="city" Member="City" Storage="city" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="companyname" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="contactname" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="contacttitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="country" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="customerid" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR(5)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="fax" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="phone" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="postalcode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="region" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.employees" Member="Employees">\r
+ <Type Name="Employee">\r
+ <Association Name="linquser_employees_reportsto_linquser_employees_employeeid" Member="ParentEmployee" Storage="linqUserEmployeesReportsToLinqUserEmployeesEmployeeId" Type="Employee" ThisKey="ReportsTo" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="linquser_employees_reportsto_linquser_employees_employeeid" Member="Employees" Type="Employee" ThisKey="EmployeeId" OtherKey="ReportsTo" />\r
+ <Association Name="linquser_employeeterritories_employeeid_linquser_employees_employeeid" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Association Name="linquser_orders_employeeid_linquser_employees_employeeid" Member="Orders" Type="Order" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Column Name="address" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="birthdate" Member="BirthDate" Storage="birthDate" Type="System.DateTime" DbType="INGRESDATE" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="city" Member="City" Storage="city" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="country" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="employeeid" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="next value for "linquser"."employees_seq"" />\r
+ <Column Name="firstname" Member="FirstName" Storage="firstName" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="hiredate" Member="HireDate" Storage="hireDate" Type="System.DateTime" DbType="INGRESDATE" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="homephone" Member="HomePhone" Storage="homePhone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="lastname" Member="LastName" Storage="lastName" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="notes" Member="Notes" Storage="notes" Type="System.String" DbType="VARCHAR(100)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="photo" Member="Photo" Storage="photo" Type="System.Byte[]" DbType="LONG BYTE" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="postalcode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="region" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="reportsto" Member="ReportsTo" Storage="reportsTo" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="title" Member="Title" Storage="title" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.employeeterritories" Member="EmployeeTerritories">\r
+ <Type Name="EmployeeTerritory">\r
+ <Association Name="linquser_employeeterritories_territoryid_linquser_territories_territoryid" Member="Territory" Storage="linqUserEmployeeTerritoriesTerritoryIdLinqUserTerritoriesTerritoryId" Type="Territory" ThisKey="TerritoryId" OtherKey="TerritoryId" IsForeignKey="true" />\r
+ <Association Name="linquser_employeeterritories_employeeid_linquser_employees_employeeid" Member="Employee" Storage="linqUserEmployeeTerritoriesEmployeeIdLinqUserEmployeesEmployeeId" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Column Name="employeeid" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="territoryid" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.iietab_107_108" Member="IIeTab107108">\r
+ <Type Name="IIeTab107108">\r
+ <Column Name="per_key" Member="PerKey" Storage="perKey" Type="System.String" DbType="CHAR(8)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_next" Member="PerNext" Storage="perNext" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_segment0" Member="PerSegment0" Storage="perSegment0" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_segment1" Member="PerSegment1" Storage="perSegment1" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_value" Member="PerValue" Storage="perValue" Type="System.Byte[]" DbType="BYTE VARYING" IsPrimaryKey="false" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.iietab_12b_12c" Member="IIeTab12B12C">\r
+ <Type Name="IIeTab12B12C">\r
+ <Column Name="per_key" Member="PerKey" Storage="perKey" Type="System.String" DbType="CHAR(8)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_next" Member="PerNext" Storage="perNext" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_segment0" Member="PerSegment0" Storage="perSegment0" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_segment1" Member="PerSegment1" Storage="perSegment1" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="per_value" Member="PerValue" Storage="perValue" Type="System.Byte[]" DbType="BYTE VARYING" IsPrimaryKey="false" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.orders" Member="Orders">\r
+ <Type Name="Order">\r
+ <Association Name="linquser_orders_employeeid_linquser_employees_employeeid" Member="Employee" Storage="linqUserOrdersEmployeeIdLinqUserEmployeesEmployeeId" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="linquser_orders_customerid_linquser_customers_customerid" Member="Customer" Storage="linqUserOrdersCustomerIdLinqUserCustomersCustomerId" Type="Customer" ThisKey="CustomerId" OtherKey="CustomerId" IsForeignKey="true" />\r
+ <Association Name="linquser_orderdetails_orderid_linquser_orders_orderid" Member="OrderDetails" Type="OrderDetail" ThisKey="OrderId" OtherKey="OrderId" />\r
+ <Column Name="customerid" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR(5)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="employeeid" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="freight" Member="Freight" Storage="freight" Type="System.Decimal" DbType="DECIMAL(5, 0)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="orderdate" Member="OrderDate" Storage="orderDate" Type="System.DateTime" DbType="INGRESDATE" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="orderid" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="next value for "linquser"."categories_seq"" />\r
+ <Column Name="requireddate" Member="RequiredDate" Storage="requiredDate" Type="System.DateTime" DbType="INGRESDATE" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shipaddress" Member="ShipAddress" Storage="shipAddress" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shipcity" Member="ShipCity" Storage="shipCity" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shipcountry" Member="ShipCountry" Storage="shipCountry" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shipname" Member="ShipName" Storage="shipName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shippeddate" Member="ShippedDate" Storage="shippedDate" Type="System.DateTime" DbType="INGRESDATE" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shippostalcode" Member="ShipPostalCode" Storage="shipPostalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shipregion" Member="ShipRegion" Storage="shipRegion" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="shipvia" Member="ShipVia" Storage="shipVia" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.orderdetails" Member="OrderDetails">\r
+ <Type Name="OrderDetail">\r
+ <Association Name="linquser_orderdetails_productid_linquser_products_productid" Member="Product" Storage="linqUserOrderDetailsProductIdLinqUserProductsProductId" Type="Product" ThisKey="ProductId" OtherKey="ProductId" IsForeignKey="true" />\r
+ <Association Name="linquser_orderdetails_orderid_linquser_orders_orderid" Member="Order" Storage="linqUserOrderDetailsOrderIdLinqUserOrdersOrderId" Type="Order" ThisKey="OrderId" OtherKey="OrderId" IsForeignKey="true" />\r
+ <Column Name="discount" Member="Discount" Storage="discount" Type="System.Double" DbType="FLOAT" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="orderid" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="productid" Member="ProductId" Storage="productId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="quantity" Member="Quantity" Storage="quantity" Type="System.Int16" DbType="INTEGER(2)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="unitprice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="DECIMAL(5, 0)" IsPrimaryKey="false" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.products" Member="Products">\r
+ <Type Name="Product">\r
+ <Association Name="linquser_products_supplierid_linquser_suppliers_supplierid" Member="Supplier" Storage="linqUserProductsSupplierIdLinqUserSuppliersSupplierId" Type="Supplier" ThisKey="SupplierId" OtherKey="SupplierId" IsForeignKey="true" />\r
+ <Association Name="linquser_products_categoryid_linquser_categories_categoryid" Member="Category" Storage="linqUserProductsCategoryIdLinqUserCategoriesCategoryId" Type="Category" ThisKey="CategoryId" OtherKey="CategoryId" IsForeignKey="true" />\r
+ <Association Name="linquser_orderdetails_productid_linquser_products_productid" Member="OrderDetails" Type="OrderDetail" ThisKey="ProductId" OtherKey="ProductId" />\r
+ <Column Name="categoryid" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="discontinued" Member="Discontinued" Storage="discontinued" Type="System.Int16" DbType="INTEGER(2)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="productid" Member="ProductId" Storage="productId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="next value for "linquser"."products_seq"" />\r
+ <Column Name="productname" Member="ProductName" Storage="productName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="quantityperunit" Member="QuantityPerUnit" Storage="quantityPerUnit" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="reorderlevel" Member="ReorderLevel" Storage="reorderLevel" Type="System.Int16" DbType="INTEGER(2)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="supplierid" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="unitprice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="DECIMAL(5, 0)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="unitsinstock" Member="UnitsInStock" Storage="unitsInStock" Type="System.Int16" DbType="INTEGER(2)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="unitsonorder" Member="UnitsOnOrder" Storage="unitsOnOrder" Type="System.Int16" DbType="INTEGER(2)" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.region" Member="Regions">\r
+ <Type Name="Region">\r
+ <Association Name="linquser_territories_regionid_linquser_region_regionid" Member="Territories" Type="Territory" ThisKey="RegionId" OtherKey="RegionId" />\r
+ <Column Name="regiondescription" Member="RegionDescription" Storage="regionDescription" Type="System.String" DbType="VARCHAR(50)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="regionid" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="next value for "linquser"."region_seq"" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.suppliers" Member="Suppliers">\r
+ <Type Name="Supplier">\r
+ <Association Name="linquser_products_supplierid_linquser_suppliers_supplierid" Member="Products" Type="Product" ThisKey="SupplierId" OtherKey="SupplierId" />\r
+ <Column Name="address" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="city" Member="City" Storage="city" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="companyname" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="contactname" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="contacttitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="country" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="fax" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="phone" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="postalcode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="region" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="supplierid" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="next value for "linquser"."suppliers_seq"" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="linquser.territories" Member="Territories">\r
+ <Type Name="Territory">\r
+ <Association Name="linquser_territories_regionid_linquser_region_regionid" Member="Region" Storage="linqUserTerritoriesRegionIdLinqUserRegionRegionId" Type="Region" ThisKey="RegionId" OtherKey="RegionId" IsForeignKey="true" />\r
+ <Association Name="linquser_employeeterritories_territoryid_linquser_territories_territoryid" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="TerritoryId" OtherKey="TerritoryId" />\r
+ <Column Name="regionid" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="INTEGER(4)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="territorydescription" Member="TerritoryDescription" Storage="territoryDescription" Type="System.String" DbType="VARCHAR(50)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="territoryid" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+</Database>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.Ordinal;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new Ingres.Client.IngresCommand(sql, (Ingres.Client.IngresConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new Ingres.Client.IngresConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.Ingres.IngresVendor();\r
+ }\r
+ }\r
+}\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
}\r
return outParamValues;\r
}\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "MySql.Data.DLL",\r
- className = "MySqlConnection",\r
- };\r
- }\r
-\r
}\r
}\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{858BAFF7-542F-4DBB-9C9B-57FCDE4DB7CE}</ProjectGuid>\r
+ <OutputType>WinExe</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.MySql_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MYSQL</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MYSQL</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="MySql.Data, Version=1.0.7.30072, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\MySql.Data.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Windows.Forms" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.MySql.Example\nwind\AllTypes.cs">\r
+ <Link>nwind\AllTypes.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\examples\DbLinq.MySql.Example\nwind\DbLinq_EnumTest.cs">\r
+ <Link>nwind\DbLinq_EnumTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\examples\DbLinq.MySql.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\MetalTest.cs">\r
+ <Link>Providers\MetalTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program2Mysql.cs">\r
+ <Link>Providers\Program2Mysql.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Internals\ReflectionTest.cs">\r
+ <Link>Providers\Internals\ReflectionTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.MySql.csproj">\r
+ <Project>{FA8D1068-3341-4956-BF94-54C6A816BD9E}</Project>\r
+ <Name>DbLinq.MySql</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{E6E31FB6-1559-44E1-AFA2-C11981A591FC}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <RootNamespace>Test_NUnit_Mysql_VB</RootNamespace>\r
+ <AssemblyName>DbLinq.MySql_test_vb</AssemblyName>\r
+ <FileAlignment>512</FileAlignment>\r
+ <MyType>Windows</MyType>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <OptionExplicit>On</OptionExplicit>\r
+ <OptionCompare>Binary</OptionCompare>\r
+ <OptionStrict>Off</OptionStrict>\r
+ <OptionInfer>On</OptionInfer>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <DefineDebug>true</DefineDebug>\r
+ <DefineTrace>true</DefineTrace>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DocumentationFile>DbLinq.MySql_test_vb.xml</DocumentationFile>\r
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <DefineDebug>false</DefineDebug>\r
+ <DefineTrace>true</DefineTrace>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DocumentationFile>DbLinq.MySql_test_vb.xml</DocumentationFile>\r
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="MySql.Data, Version=5.0.8.1, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\lib\MySql.Data.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.core, Version=2.2.9.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\lib\nunit.core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.2.9.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Xml" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Xml.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data.DataSetExtensions">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Import Include="Microsoft.VisualBasic" />\r
+ <Import Include="System" />\r
+ <Import Include="System.Collections" />\r
+ <Import Include="System.Collections.Generic" />\r
+ <Import Include="System.Data" />\r
+ <Import Include="System.Diagnostics" />\r
+ <Import Include="System.Linq" />\r
+ <Import Include="System.Xml.Linq" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="My Project\AssemblyInfo.vb" />\r
+ <Compile Include="My Project\Application.Designer.vb">\r
+ <AutoGen>True</AutoGen>\r
+ <DependentUpon>Application.myapp</DependentUpon>\r
+ </Compile>\r
+ <Compile Include="My Project\Resources.Designer.vb">\r
+ <AutoGen>True</AutoGen>\r
+ <DesignTime>True</DesignTime>\r
+ <DependentUpon>Resources.resx</DependentUpon>\r
+ </Compile>\r
+ <Compile Include="My Project\Settings.Designer.vb">\r
+ <AutoGen>True</AutoGen>\r
+ <DependentUpon>Settings.settings</DependentUpon>\r
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>\r
+ </Compile>\r
+ <Compile Include="VBTests.vb" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <EmbeddedResource Include="My Project\Resources.resx">\r
+ <Generator>VbMyResourcesResXFileCodeGenerator</Generator>\r
+ <LastGenOutput>Resources.Designer.vb</LastGenOutput>\r
+ <CustomToolNamespace>My.Resources</CustomToolNamespace>\r
+ <SubType>Designer</SubType>\r
+ </EmbeddedResource>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="My Project\Application.myapp">\r
+ <Generator>MyApplicationCodeGenerator</Generator>\r
+ <LastGenOutput>Application.Designer.vb</LastGenOutput>\r
+ </None>\r
+ <None Include="My Project\Settings.settings">\r
+ <Generator>SettingsSingleFileGenerator</Generator>\r
+ <CustomToolNamespace>My</CustomToolNamespace>\r
+ <LastGenOutput>Settings.Designer.vb</LastGenOutput>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="DbLinq.MySql_test.csproj">\r
+ <Project>{858BAFF7-542F-4DBB-9C9B-57FCDE4DB7CE}</Project>\r
+ <Name>DbLinq.MySql_test</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />\r
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+ Other similar extension points exist, see Microsoft.Common.targets.\r
+ <Target Name="BeforeBuild">\r
+ </Target>\r
+ <Target Name="AfterBuild">\r
+ </Target>\r
+ -->\r
+</Project>\r
--- /dev/null
+'------------------------------------------------------------------------------\r
+' <auto-generated>\r
+' This code was generated by a tool.\r
+' Runtime Version:2.0.50727.1434\r
+'\r
+' Changes to this file may cause incorrect behavior and will be lost if\r
+' the code is regenerated.\r
+' </auto-generated>\r
+'------------------------------------------------------------------------------\r
+\r
+Option Strict On\r
+Option Explicit On\r
+\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+ <MySubMain>false</MySubMain>\r
+ <SingleInstance>false</SingleInstance>\r
+ <ShutdownMode>0</ShutdownMode>\r
+ <EnableVisualStyles>true</EnableVisualStyles>\r
+ <AuthenticationMode>0</AuthenticationMode>\r
+ <ApplicationType>1</ApplicationType>\r
+ <SaveMySettingsOnExit>true</SaveMySettingsOnExit>\r
+</MyApplicationData>\r
--- /dev/null
+Imports System\r
+Imports System.Reflection\r
+Imports System.Runtime.InteropServices\r
+\r
+' General Information about an assembly is controlled through the following \r
+' set of attributes. Change these attribute values to modify the information\r
+' associated with an assembly.\r
+\r
+' Review the values of the assembly attributes\r
+\r
+<Assembly: AssemblyTitle("Test_NUnit_Mysql_VB")> \r
+<Assembly: AssemblyDescription("")> \r
+<Assembly: AssemblyCompany("")> \r
+<Assembly: AssemblyProduct("Test_NUnit_Mysql_VB")> \r
+<Assembly: AssemblyCopyright("Copyright © 2008")> \r
+<Assembly: AssemblyTrademark("")> \r
+\r
+<Assembly: ComVisible(False)>\r
+\r
+'The following GUID is for the ID of the typelib if this project is exposed to COM\r
+<Assembly: Guid("a8590f10-b5f6-4280-9d9a-8309abbead59")> \r
+\r
+' Version information for an assembly consists of the following four values:\r
+'\r
+' Major Version\r
+' Minor Version \r
+' Build Number\r
+' Revision\r
+'\r
+' You can specify all the values or you can default the Build and Revision Numbers \r
+' by using the '*' as shown below:\r
+' <Assembly: AssemblyVersion("1.0.*")> \r
+\r
+<Assembly: AssemblyVersion("1.0.0.0")> \r
+<Assembly: AssemblyFileVersion("1.0.0.0")> \r
--- /dev/null
+'------------------------------------------------------------------------------\r
+' <auto-generated>\r
+' This code was generated by a tool.\r
+' Runtime Version:2.0.50727.1434\r
+'\r
+' Changes to this file may cause incorrect behavior and will be lost if\r
+' the code is regenerated.\r
+' </auto-generated>\r
+'------------------------------------------------------------------------------\r
+\r
+Option Strict On\r
+Option Explicit On\r
+\r
+\r
+Namespace My.Resources\r
+ \r
+ 'This class was auto-generated by the StronglyTypedResourceBuilder\r
+ 'class via a tool like ResGen or Visual Studio.\r
+ 'To add or remove a member, edit your .ResX file then rerun ResGen\r
+ 'with the /str option, or rebuild your VS project.\r
+ '<summary>\r
+ ' A strongly-typed resource class, for looking up localized strings, etc.\r
+ '</summary>\r
+ <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"), _\r
+ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _\r
+ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _\r
+ Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _\r
+ Friend Module Resources\r
+ \r
+ Private resourceMan As Global.System.Resources.ResourceManager\r
+ \r
+ Private resourceCulture As Global.System.Globalization.CultureInfo\r
+ \r
+ '<summary>\r
+ ' Returns the cached ResourceManager instance used by this class.\r
+ '</summary>\r
+ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _\r
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager\r
+ Get\r
+ If Object.ReferenceEquals(resourceMan, Nothing) Then\r
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Test_NUnit_Mysql_VB.Resources", GetType(Resources).Assembly)\r
+ resourceMan = temp\r
+ End If\r
+ Return resourceMan\r
+ End Get\r
+ End Property\r
+ \r
+ '<summary>\r
+ ' Overrides the current thread's CurrentUICulture property for all\r
+ ' resource lookups using this strongly typed resource class.\r
+ '</summary>\r
+ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _\r
+ Friend Property Culture() As Global.System.Globalization.CultureInfo\r
+ Get\r
+ Return resourceCulture\r
+ End Get\r
+ Set(ByVal value As Global.System.Globalization.CultureInfo)\r
+ resourceCulture = value\r
+ End Set\r
+ End Property\r
+ End Module\r
+End Namespace\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<root>\r
+ <!-- \r
+ Microsoft ResX Schema \r
+ \r
+ Version 2.0\r
+ \r
+ The primary goals of this format is to allow a simple XML format \r
+ that is mostly human readable. The generation and parsing of the \r
+ various data types are done through the TypeConverter classes \r
+ associated with the data types.\r
+ \r
+ Example:\r
+ \r
+ ... ado.net/XML headers & schema ...\r
+ <resheader name="resmimetype">text/microsoft-resx</resheader>\r
+ <resheader name="version">2.0</resheader>\r
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
+ <value>[base64 mime encoded serialized .NET Framework object]</value>\r
+ </data>\r
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
+ <comment>This is a comment</comment>\r
+ </data>\r
+ \r
+ There are any number of "resheader" rows that contain simple \r
+ name/value pairs.\r
+ \r
+ Each data row contains a name, and value. The row also contains a \r
+ type or mimetype. Type corresponds to a .NET class that support \r
+ text/value conversion through the TypeConverter architecture. \r
+ Classes that don't support this are serialized and stored with the \r
+ mimetype set.\r
+ \r
+ The mimetype is used for serialized objects, and tells the \r
+ ResXResourceReader how to depersist the object. This is currently not \r
+ extensible. For a given mimetype the value must be set accordingly:\r
+ \r
+ Note - application/x-microsoft.net.object.binary.base64 is the format \r
+ that the ResXResourceWriter will generate, however the reader can \r
+ read any of the formats listed below.\r
+ \r
+ mimetype: application/x-microsoft.net.object.binary.base64\r
+ value : The object must be serialized with \r
+ : System.Serialization.Formatters.Binary.BinaryFormatter\r
+ : and then encoded with base64 encoding.\r
+ \r
+ mimetype: application/x-microsoft.net.object.soap.base64\r
+ value : The object must be serialized with \r
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
+ : and then encoded with base64 encoding.\r
+\r
+ mimetype: application/x-microsoft.net.object.bytearray.base64\r
+ value : The object must be serialized into a byte array \r
+ : using a System.ComponentModel.TypeConverter\r
+ : and then encoded with base64 encoding.\r
+ -->\r
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
+ <xsd:element name="root" msdata:IsDataSet="true">\r
+ <xsd:complexType>\r
+ <xsd:choice maxOccurs="unbounded">\r
+ <xsd:element name="metadata">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" />\r
+ <xsd:attribute name="type" type="xsd:string" />\r
+ <xsd:attribute name="mimetype" type="xsd:string" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="assembly">\r
+ <xsd:complexType>\r
+ <xsd:attribute name="alias" type="xsd:string" />\r
+ <xsd:attribute name="name" type="xsd:string" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="data">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />\r
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="resheader">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" use="required" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:choice>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:schema>\r
+ <resheader name="resmimetype">\r
+ <value>text/microsoft-resx</value>\r
+ </resheader>\r
+ <resheader name="version">\r
+ <value>2.0</value>\r
+ </resheader>\r
+ <resheader name="reader">\r
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+ </resheader>\r
+ <resheader name="writer">\r
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+ </resheader>\r
+</root>
\ No newline at end of file
--- /dev/null
+'------------------------------------------------------------------------------\r
+' <auto-generated>\r
+' This code was generated by a tool.\r
+' Runtime Version:2.0.50727.1434\r
+'\r
+' Changes to this file may cause incorrect behavior and will be lost if\r
+' the code is regenerated.\r
+' </auto-generated>\r
+'------------------------------------------------------------------------------\r
+\r
+Option Strict On\r
+Option Explicit On\r
+\r
+\r
+Namespace My\r
+\r
+ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _\r
+ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0"), _\r
+ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _\r
+ Partial Friend NotInheritable Class MySettings\r
+ Inherits Global.System.Configuration.ApplicationSettingsBase\r
+ \r
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)\r
+ \r
+#Region "My.Settings Auto-Save Functionality"\r
+#If _MyType = "WindowsForms" Then\r
+ Private Shared addedHandler As Boolean\r
+\r
+ Private Shared addedHandlerLockObject As New Object\r
+\r
+ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _\r
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)\r
+ If My.Application.SaveMySettingsOnExit Then\r
+ My.Settings.Save()\r
+ End If\r
+ End Sub\r
+#End If\r
+#End Region\r
+ \r
+ Public Shared ReadOnly Property [Default]() As MySettings\r
+ Get\r
+ \r
+#If _MyType = "WindowsForms" Then\r
+ If Not addedHandler Then\r
+ SyncLock addedHandlerLockObject\r
+ If Not addedHandler Then\r
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings\r
+ addedHandler = True\r
+ End If\r
+ End SyncLock\r
+ End If\r
+#End If\r
+ Return defaultInstance\r
+ End Get\r
+ End Property\r
+ End Class\r
+End Namespace\r
+\r
+Namespace My\r
+ \r
+ <Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _\r
+ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _\r
+ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _\r
+ Friend Module MySettingsProperty\r
+ \r
+ <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _\r
+ Friend ReadOnly Property Settings() As Global.Test_NUnit_Mysql_VB.My.MySettings\r
+ Get\r
+ Return Global.Test_NUnit_Mysql_VB.My.MySettings.Default\r
+ End Get\r
+ End Property\r
+ End Module\r
+End Namespace\r
--- /dev/null
+<?xml version='1.0' encoding='utf-8'?>\r
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">\r
+ <Profiles>\r
+ <Profile Name="(Default)" />\r
+ </Profiles>\r
+ <Settings />\r
+</SettingsFile>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Northwind" Class="Northwind" Provider="MySQL" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">\r
+ <Table Name="northwind.casetest" Member="CaseTests">\r
+ <Type Name="CaseTest">\r
+ <Column Name="NoCase" Member="NoCase" Storage="noCase" Type="System.String" DbType="varchar(25)" CanBeNull="true" />\r
+ <Column Name="value0" Member="Value0" Storage="value0" Type="System.UInt32" DbType="int(20) unsigned" CanBeNull="false" />\r
+ <Column Name="WithCase" Member="WithCase" Storage="withCase" Type="System.String" DbType="varchar(25)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.categories" Member="Categories">\r
+ <Type Name="Category">\r
+ <Association Name="products_ibfk_1" Member="Products" Type="Product" ThisKey="CategoryId" OtherKey="CategoryId" />\r
+ <Column Name="CategoryID" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="CategoryName" Member="CategoryName" Storage="categoryName" Type="System.String" DbType="varchar(15)" CanBeNull="false" />\r
+ <Column Name="Description" Member="Description" Storage="description" Type="System.String" DbType="text" CanBeNull="true" />\r
+ <Column Name="Picture" Member="Picture" Storage="picture" Type="System.Byte[]" DbType="blob" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.customers" Member="Customers">\r
+ <Type Name="Customer">\r
+ <Association Name="orders_ibfk_1" Member="Orders" Type="Order" ThisKey="CustomerId" OtherKey="CustomerId" />\r
+ <Column Name="Address" Member="Address" Storage="address" Type="System.String" DbType="varchar(60)" CanBeNull="true" />\r
+ <Column Name="City" Member="City" Storage="city" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="CompanyName" Member="CompanyName" Storage="companyName" Type="System.String" DbType="varchar(40)" CanBeNull="false" />\r
+ <Column Name="ContactName" Member="ContactName" Storage="contactName" Type="System.String" DbType="varchar(30)" CanBeNull="true" />\r
+ <Column Name="ContactTitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="varchar(30)" CanBeNull="true" />\r
+ <Column Name="Country" Member="Country" Storage="country" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="CustomerID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="varchar(5)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="Fax" Member="Fax" Storage="fax" Type="System.String" DbType="varchar(24)" CanBeNull="true" />\r
+ <Column Name="Phone" Member="Phone" Storage="phone" Type="System.String" DbType="varchar(24)" CanBeNull="true" />\r
+ <Column Name="PostalCode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="varchar(10)" CanBeNull="true" />\r
+ <Column Name="Region" Member="Region" Storage="region" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.employees" Member="Employees">\r
+ <Type Name="Employee">\r
+ <Association Name="employees_ibfk_1" Member="ParentEmployee" Storage="employeesIBFk1" Type="Employee" ThisKey="ReportsTo" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="employees_ibfk_1" Member="Employees" Type="Employee" ThisKey="EmployeeId" OtherKey="ReportsTo" />\r
+ <Association Name="employeeterritories_ibfk_1" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Association Name="orders_ibfk_2" Member="Orders" Type="Order" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Column Name="Address" Member="Address" Storage="address" Type="System.String" DbType="varchar(60)" CanBeNull="true" />\r
+ <Column Name="BirthDate" Member="BirthDate" Storage="birthDate" Type="System.DateTime" DbType="datetime" CanBeNull="true" />\r
+ <Column Name="City" Member="City" Storage="city" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="Country" Member="Country" Storage="country" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="EmployeeID" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="FirstName" Member="FirstName" Storage="firstName" Type="System.String" DbType="varchar(10)" CanBeNull="false" />\r
+ <Column Name="HireDate" Member="HireDate" Storage="hireDate" Type="System.DateTime" DbType="datetime" CanBeNull="true" />\r
+ <Column Name="HomePhone" Member="HomePhone" Storage="homePhone" Type="System.String" DbType="varchar(24)" CanBeNull="true" />\r
+ <Column Name="LastName" Member="LastName" Storage="lastName" Type="System.String" DbType="varchar(20)" CanBeNull="false" />\r
+ <Column Name="Notes" Member="Notes" Storage="notes" Type="System.String" DbType="text" CanBeNull="true" />\r
+ <Column Name="Photo" Member="Photo" Storage="photo" Type="System.Byte[]" DbType="blob" CanBeNull="true" />\r
+ <Column Name="PostalCode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="varchar(10)" CanBeNull="true" />\r
+ <Column Name="Region" Member="Region" Storage="region" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="ReportsTo" Member="ReportsTo" Storage="reportsTo" Type="System.Int32" DbType="int" CanBeNull="true" />\r
+ <Column Name="Title" Member="Title" Storage="title" Type="System.String" DbType="varchar(30)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.employeeterritories" Member="EmployeeTerritories">\r
+ <Type Name="EmployeeTerritory">\r
+ <Association Name="employeeterritories_ibfk_1" Member="Employee" Storage="employeeTerritoriesIBFk1" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="employeeterritories_ibfk_2" Member="Territory" Storage="employeeTerritoriesIBFk2" Type="Territory" ThisKey="TerritoryId" OtherKey="TerritoryId" IsForeignKey="true" />\r
+ <Column Name="EmployeeID" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="int" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="TerritoryID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="varchar(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.orders" Member="Orders">\r
+ <Type Name="Order">\r
+ <Association Name="order details_ibfk_1" Member="OrderDetails" Type="OrderDetail" ThisKey="OrderId" OtherKey="OrderId" />\r
+ <Association Name="orders_ibfk_1" Member="Customer" Storage="ordersIBFk1" Type="Customer" ThisKey="CustomerId" OtherKey="CustomerId" IsForeignKey="true" />\r
+ <Association Name="orders_ibfk_2" Member="Employee" Storage="ordersIBFk2" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="orders_ibfk_3" Member="Shipper" Storage="ordersIBFk3" Type="Shipper" ThisKey="ShipVia" OtherKey="ShipperId" IsForeignKey="true" />\r
+ <Column Name="CustomerID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="varchar(5)" CanBeNull="true" />\r
+ <Column Name="EmployeeID" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="int" CanBeNull="true" />\r
+ <Column Name="Freight" Member="Freight" Storage="freight" Type="System.Decimal" DbType="decimal" CanBeNull="true" />\r
+ <Column Name="OrderDate" Member="OrderDate" Storage="orderDate" Type="System.DateTime" DbType="datetime" CanBeNull="true" />\r
+ <Column Name="OrderID" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="RequiredDate" Member="RequiredDate" Storage="requiredDate" Type="System.DateTime" DbType="datetime" CanBeNull="true" />\r
+ <Column Name="ShipAddress" Member="ShipAddress" Storage="shipAddress" Type="System.String" DbType="varchar(60)" CanBeNull="true" />\r
+ <Column Name="ShipCity" Member="ShipCity" Storage="shipCity" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="ShipCountry" Member="ShipCountry" Storage="shipCountry" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="ShipName" Member="ShipName" Storage="shipName" Type="System.String" DbType="varchar(40)" CanBeNull="true" />\r
+ <Column Name="ShippedDate" Member="ShippedDate" Storage="shippedDate" Type="System.DateTime" DbType="datetime" CanBeNull="true" />\r
+ <Column Name="ShipPostalCode" Member="ShipPostalCode" Storage="shipPostalCode" Type="System.String" DbType="varchar(10)" CanBeNull="true" />\r
+ <Column Name="ShipRegion" Member="ShipRegion" Storage="shipRegion" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="ShipVia" Member="ShipVia" Storage="shipVia" Type="System.Int32" DbType="int" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.order details" Member="OrderDetails">\r
+ <Type Name="OrderDetail">\r
+ <Association Name="order details_ibfk_1" Member="Order" Storage="orderDetailsIBFk1" Type="Order" ThisKey="OrderId" OtherKey="OrderId" IsForeignKey="true" />\r
+ <Association Name="order details_ibfk_2" Member="Product" Storage="orderDetailsIBFk2" Type="Product" ThisKey="ProductId" OtherKey="ProductId" IsForeignKey="true" />\r
+ <Column Name="Discount" Member="Discount" Storage="discount" Type="System.Single" DbType="float" CanBeNull="false" />\r
+ <Column Name="OrderID" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="int" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="ProductID" Member="ProductId" Storage="productId" Type="System.Int32" DbType="int" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="Quantity" Member="Quantity" Storage="quantity" Type="System.Int16" DbType="smallint(6)" CanBeNull="false" />\r
+ <Column Name="UnitPrice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="decimal" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.products" Member="Products">\r
+ <Type Name="Product">\r
+ <Association Name="order details_ibfk_2" Member="OrderDetails" Type="OrderDetail" ThisKey="ProductId" OtherKey="ProductId" />\r
+ <Association Name="products_ibfk_1" Member="Category" Storage="productsIBFk1" Type="Category" ThisKey="CategoryId" OtherKey="CategoryId" IsForeignKey="true" />\r
+ <Association Name="products_ibfk_2" Member="Supplier" Storage="productsIBFk2" Type="Supplier" ThisKey="SupplierId" OtherKey="SupplierId" IsForeignKey="true" />\r
+ <Column Name="CategoryID" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="int" CanBeNull="true" />\r
+ <Column Name="Discontinued" Member="Discontinued" Storage="discontinued" Type="System.Boolean" DbType="bit(1)" CanBeNull="false" />\r
+ <Column Name="ProductID" Member="ProductId" Storage="productId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="ProductName" Member="ProductName" Storage="productName" Type="System.String" DbType="varchar(40)" CanBeNull="false" />\r
+ <Column Name="QuantityPerUnit" Member="QuantityPerUnit" Storage="quantityPerUnit" Type="System.String" DbType="varchar(20)" CanBeNull="true" />\r
+ <Column Name="ReorderLevel" Member="ReorderLevel" Storage="reorderLevel" Type="System.Int16" DbType="smallint(6)" CanBeNull="true" />\r
+ <Column Name="SupplierID" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="int" CanBeNull="true" />\r
+ <Column Name="UnitPrice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="decimal" CanBeNull="true" />\r
+ <Column Name="UnitsInStock" Member="UnitsInStock" Storage="unitsInStock" Type="System.Int16" DbType="smallint(6)" CanBeNull="true" />\r
+ <Column Name="UnitsOnOrder" Member="UnitsOnOrder" Storage="unitsOnOrder" Type="System.Int16" DbType="smallint(6)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.region" Member="Regions">\r
+ <Type Name="Region">\r
+ <Association Name="territories_ibfk_1" Member="Territories" Type="Territory" ThisKey="RegionId" OtherKey="RegionId" />\r
+ <Column Name="RegionDescription" Member="RegionDescription" Storage="regionDescription" Type="System.String" DbType="varchar(50)" CanBeNull="false" />\r
+ <Column Name="RegionID" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.shippers" Member="Shippers">\r
+ <Type Name="Shipper">\r
+ <Association Name="orders_ibfk_3" Member="Orders" Type="Order" ThisKey="ShipperId" OtherKey="ShipVia" />\r
+ <Column Name="CompanyName" Member="CompanyName" Storage="companyName" Type="System.String" DbType="varchar(40)" CanBeNull="false" />\r
+ <Column Name="Phone" Member="Phone" Storage="phone" Type="System.String" DbType="varchar(24)" CanBeNull="true" />\r
+ <Column Name="ShipperID" Member="ShipperId" Storage="shipperId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.suppliers" Member="Suppliers">\r
+ <Type Name="Supplier">\r
+ <Association Name="products_ibfk_2" Member="Products" Type="Product" ThisKey="SupplierId" OtherKey="SupplierId" />\r
+ <Column Name="Address" Member="Address" Storage="address" Type="System.String" DbType="varchar(60)" CanBeNull="true" />\r
+ <Column Name="City" Member="City" Storage="city" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="CompanyName" Member="CompanyName" Storage="companyName" Type="System.String" DbType="varchar(40)" CanBeNull="false" />\r
+ <Column Name="ContactName" Member="ContactName" Storage="contactName" Type="System.String" DbType="varchar(30)" CanBeNull="true" />\r
+ <Column Name="ContactTitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="varchar(30)" CanBeNull="true" />\r
+ <Column Name="Country" Member="Country" Storage="country" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="Fax" Member="Fax" Storage="fax" Type="System.String" DbType="varchar(24)" CanBeNull="true" />\r
+ <Column Name="Phone" Member="Phone" Storage="phone" Type="System.String" DbType="varchar(24)" CanBeNull="true" />\r
+ <Column Name="PostalCode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="varchar(10)" CanBeNull="true" />\r
+ <Column Name="Region" Member="Region" Storage="region" Type="System.String" DbType="varchar(15)" CanBeNull="true" />\r
+ <Column Name="SupplierID" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="int" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="northwind.territories" Member="Territories">\r
+ <Type Name="Territory">\r
+ <Association Name="employeeterritories_ibfk_2" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="TerritoryId" OtherKey="TerritoryId" />\r
+ <Association Name="territories_ibfk_1" Member="Region" Storage="territoriesIBFk1" Type="Region" ThisKey="RegionId" OtherKey="RegionId" IsForeignKey="true" />\r
+ <Column Name="RegionID" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="int" CanBeNull="false" />\r
+ <Column Name="TerritoryDescription" Member="TerritoryDescription" Storage="territoryDescription" Type="System.String" DbType="varchar(50)" CanBeNull="false" />\r
+ <Column Name="TerritoryID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="varchar(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Function Name="northwind.getOrderCount" Method="GetOrderCount" IsComposable="true">\r
+ <Parameter Name="custId" Type="System.String" DbType="VARCHAR(5)" Direction="In" />\r
+ <Return Type="System.Int32" DbType="int(11)" />\r
+ </Function>\r
+ <Function Name="northwind.hello0" Method="Hello0" IsComposable="true">\r
+ <Return Type="System.String" DbType="char(20) CHARSET utf8" />\r
+ </Function>\r
+ <Function Name="northwind.hello1" Method="Hello1" IsComposable="true">\r
+ <Parameter Name="s" Type="System.String" DbType="CHAR(20)" Direction="In" />\r
+ <Return Type="System.String" DbType="char(30) CHARSET utf8" />\r
+ </Function>\r
+ <Function Name="northwind.hello2" Method="Hello2" IsComposable="true">\r
+ <Parameter Name="s" Type="System.String" DbType="CHAR(20)" Direction="In" />\r
+ <Parameter Name="s2" Type="System.Int32" DbType="int" Direction="In" />\r
+ <Return Type="System.String" DbType="char(30) CHARSET utf8" />\r
+ </Function>\r
+ <Function Name="northwind.sp_selOrders" Method="SpSelOrders" IsComposable="false">\r
+ <Parameter Name="s" Type="System.String" DbType="CHAR(20)" Direction="In" />\r
+ <Parameter Name="s2" Type="System.Int32" DbType="int" Direction="Out" />\r
+ </Function>\r
+ <Function Name="northwind.sp_updOrders" Method="SpUpdOrders" IsComposable="false">\r
+ <Parameter Name="custID" Type="System.Int32" DbType="int" Direction="In" />\r
+ <Parameter Name="prodId" Type="System.Int32" DbType="int" Direction="In" />\r
+ </Function>\r
+</Database>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.InvariantCulture;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new MySql.Data.MySqlClient.MySqlCommand(sql, (MySql.Data.MySqlClient.MySqlConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new MySql.Data.MySqlClient.MySqlConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.MySql.MySqlVendor();\r
+ }\r
+ }\r
+}\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-using System.Collections.Generic;
-using System.Data;
-using DbLinq.Util;
-using DbLinq.Vendor;
-
-namespace DbLinq.Oracle
-{
- partial class OracleSchemaLoader
- {
- protected virtual IDataTableColumn ReadColumn(IDataReader rdr)
- {
- var column = new DataTableColumn();
- int field = 0;
- column.TableSchema = rdr.GetString(field++);
- column.TableName = rdr.GetString(field++);
- column.ColumnName = rdr.GetString(field++);
- column.Type = rdr.GetString(field++);
- column.Length = rdr.GetAsNullableNumeric<long>(field++);
- column.Precision = rdr.GetAsNullableNumeric<int>(field++);
- column.Scale = rdr.GetAsNullableNumeric<int>(field++);
- string nullableStr = rdr.GetString(field++);
- column.Nullable = nullableStr == "Y";
- column.FullType = column.Type;
- return column;
- }
-
- protected override IList<IDataTableColumn> ReadColumns(IDbConnection connectionString, string databaseName)
- {
- const string sql = @"
-SELECT owner, table_name, column_name,
- case when data_type like 'TIMESTAMP%' then 'TIMESTAMP'
- when data_type like 'INTERVAL%' then 'INTERVAL'
- else data_type
- end data_type ,
- data_length, data_precision, data_scale, nullable
-FROM all_tab_columns
-WHERE table_name NOT LIKE '%$%'
- AND table_name NOT LIKE 'LOGMNR%'
- AND table_name NOT LIKE 'MVIEW%'
- AND table_name NOT IN ('SQLPLUS_PRODUCT_PROFILE','HELP', 'PRODUCT_PRIVS')
- -- skip nested table columns
- AND data_type_owner is null
- AND lower(owner) = :owner
-ORDER BY table_name, column_id";
-
- return DataCommand.Find<IDataTableColumn>(connectionString, sql, ":owner", databaseName.ToLower(), ReadColumn);
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+using System.Collections.Generic;\r
+using System.Data;\r
+using DbLinq.Util;\r
+using DbLinq.Vendor;\r
+\r
+namespace DbLinq.Oracle\r
+{\r
+ partial class OracleSchemaLoader\r
+ {\r
+ protected virtual IDataTableColumn ReadColumn(IDataReader rdr)\r
+ {\r
+ var column = new DataTableColumn();\r
+ int field = 0;\r
+ column.TableSchema = rdr.GetString(field++);\r
+ column.TableName = rdr.GetString(field++);\r
+ column.ColumnName = rdr.GetString(field++);\r
+ column.Type = rdr.GetString(field++);\r
+ column.Length = rdr.GetAsNullableNumeric<long>(field++);\r
+ column.Precision = rdr.GetAsNullableNumeric<int>(field++);\r
+ column.Scale = rdr.GetAsNullableNumeric<int>(field++);\r
+ string nullableStr = rdr.GetString(field++);\r
+ column.Nullable = nullableStr == "Y";\r
+ column.FullType = column.Type;\r
+ return column;\r
+ }\r
+\r
+ protected override IList<IDataTableColumn> ReadColumns(IDbConnection connectionString, string databaseName)\r
+ {\r
+ const string sql = @"\r
+SELECT owner, table_name, column_name, \r
+ case when data_type like 'TIMESTAMP%' then 'TIMESTAMP'\r
+ when data_type like 'INTERVAL%' then 'INTERVAL'\r
+ else data_type\r
+ end data_type , \r
+ data_length, data_precision, data_scale, nullable\r
+FROM all_tab_columns\r
+WHERE table_name NOT LIKE '%$%' \r
+ AND table_name NOT LIKE 'LOGMNR%' \r
+ AND table_name NOT LIKE 'MVIEW%' \r
+ AND table_name NOT IN ('SQLPLUS_PRODUCT_PROFILE','HELP', 'PRODUCT_PRIVS')\r
+ -- skip nested table columns\r
+ AND data_type_owner is null\r
+ AND lower(owner) = :owner\r
+ORDER BY table_name, column_id";\r
+\r
+ return DataCommand.Find<IDataTableColumn>(connectionString, sql, ":owner", databaseName.ToLower(), ReadColumn);\r
+ }\r
+ }\r
+}\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Text;
-using System.Text.RegularExpressions;
-using DbLinq.Util;
-
-namespace DbLinq.Oracle
-{
- partial class OracleSchemaLoader
- {
- protected class DataConstraint
- {
- public string TableSchema;
- public string ConstraintName;
- public string TableName;
- public string ColumnName;
- public string ConstraintType;
- public string ReverseConstraintName;
- public string Expression;
-
- public override string ToString()
- {
- return "User_Constraint " + TableName + "." + ColumnName;
- }
- }
-
- protected virtual DataConstraint ReadConstraint(IDataReader rdr)
- {
- var constraint = new DataConstraint();
- int field = 0;
- constraint.TableSchema = rdr.GetAsString(field++);
- constraint.ConstraintName = rdr.GetAsString(field++);
- constraint.TableName = rdr.GetAsString(field++);
- constraint.ColumnName = rdr.GetAsString(field++);
- constraint.ConstraintType = rdr.GetAsString(field++);
- constraint.ReverseConstraintName = rdr.GetAsString(field++);
- return constraint;
- }
-
- private static Regex TriggerMatch1 = new Regex(@".*SELECT\s+(?<exp>\S+.*)\s+INTO\s+\:new.(?<col>\S+)\s+FROM\s+DUAL.*",
- RegexOptions.Compiled | RegexOptions.IgnoreCase);
-
- protected bool MatchTrigger(Regex regex, string fullText, out string expression, out string column)
- {
- var match = regex.Match(fullText);
- if (match.Success)
- {
- expression = match.Groups["exp"].Value;
- column = match.Groups["col"].Value;
- return true;
- }
- expression = null;
- column = null;
- return false;
- }
-
- protected virtual DataConstraint ReadTrigger(IDataReader rdr)
- {
- var constraint = new DataConstraint();
- int field = 0;
- constraint.ConstraintName = rdr.GetAsString(field++);
- constraint.TableSchema = rdr.GetAsString(field++);
- constraint.TableName = rdr.GetAsString(field++);
- constraint.ConstraintType = "T";
- string body = rdr.GetAsString(field++);
- //BEGIN
- // IF (:new."EmployeeID" IS NULL) THEN
- // SELECT Employees_seq.NEXTVAL INTO :new."EmployeeID" FROM DUAL;
- // END IF;
- //END;
- string expression, column;
- if (MatchTrigger(TriggerMatch1, body, out expression, out column))
- {
- constraint.ColumnName = column.Trim('"');
- constraint.Expression = expression;
- }
- return constraint;
- }
-
- protected virtual List<DataConstraint> ReadConstraints(IDbConnection conn, string db)
- {
- var constraints = new List<DataConstraint>();
-
- string sql = @"
-SELECT UCC.owner, UCC.constraint_name, UCC.table_name, UCC.column_name, UC.constraint_type, UC.R_constraint_name
-FROM all_cons_columns UCC, all_constraints UC
-WHERE UCC.constraint_name=UC.constraint_name
-AND UCC.table_name=UC.table_name
-AND UCC.TABLE_NAME NOT LIKE '%$%' AND UCC.TABLE_NAME NOT LIKE 'LOGMNR%' AND UCC.TABLE_NAME NOT IN ('HELP','SQLPLUS_PRODUCT_PROFILE')
-AND UC.CONSTRAINT_TYPE!='C'
-and lower(UCC.owner) = :owner";
-
- constraints.AddRange(DataCommand.Find<DataConstraint>(conn, sql, ":owner", db.ToLower(), ReadConstraint));
-
- string sql2 =
- @"
-select t.TRIGGER_NAME, t.TABLE_OWNER, t.TABLE_NAME, t.TRIGGER_BODY from ALL_TRIGGERS t
-where t.status = 'ENABLED'
- and t.TRIGGERING_EVENT = 'INSERT'
- and t.TRIGGER_TYPE='BEFORE EACH ROW'
- and lower(t.owner) = :owner";
-
- constraints.AddRange(DataCommand.Find<DataConstraint>(conn, sql2, ":owner", db.ToLower(), ReadTrigger));
- return constraints;
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Data;\r
+using System.Text;\r
+using System.Text.RegularExpressions;\r
+using DbLinq.Util;\r
+\r
+namespace DbLinq.Oracle\r
+{\r
+ partial class OracleSchemaLoader\r
+ {\r
+ protected class DataConstraint\r
+ {\r
+ public string TableSchema;\r
+ public string ConstraintName;\r
+ public string TableName;\r
+ public string ColumnName;\r
+ public string ConstraintType;\r
+ public string ReverseConstraintName;\r
+ public string Expression;\r
+\r
+ public override string ToString()\r
+ {\r
+ return "User_Constraint " + TableName + "." + ColumnName;\r
+ }\r
+ }\r
+\r
+ protected virtual DataConstraint ReadConstraint(IDataReader rdr)\r
+ {\r
+ var constraint = new DataConstraint();\r
+ int field = 0;\r
+ constraint.TableSchema = rdr.GetAsString(field++);\r
+ constraint.ConstraintName = rdr.GetAsString(field++);\r
+ constraint.TableName = rdr.GetAsString(field++);\r
+ constraint.ColumnName = rdr.GetAsString(field++);\r
+ constraint.ConstraintType = rdr.GetAsString(field++);\r
+ constraint.ReverseConstraintName = rdr.GetAsString(field++);\r
+ return constraint;\r
+ }\r
+\r
+ private static Regex TriggerMatch1 = new Regex(@".*SELECT\s+(?<exp>\S+.*)\s+INTO\s+\:new.(?<col>\S+)\s+FROM\s+DUAL.*",\r
+ RegexOptions.Compiled | RegexOptions.IgnoreCase);\r
+\r
+ protected bool MatchTrigger(Regex regex, string fullText, out string expression, out string column)\r
+ {\r
+ var match = regex.Match(fullText);\r
+ if (match.Success)\r
+ {\r
+ expression = match.Groups["exp"].Value;\r
+ column = match.Groups["col"].Value;\r
+ return true;\r
+ }\r
+ expression = null;\r
+ column = null;\r
+ return false;\r
+ }\r
+\r
+ protected virtual DataConstraint ReadTrigger(IDataReader rdr)\r
+ {\r
+ var constraint = new DataConstraint();\r
+ int field = 0;\r
+ constraint.ConstraintName = rdr.GetAsString(field++);\r
+ constraint.TableSchema = rdr.GetAsString(field++);\r
+ constraint.TableName = rdr.GetAsString(field++);\r
+ constraint.ConstraintType = "T";\r
+ string body = rdr.GetAsString(field++);\r
+ //BEGIN\r
+ // IF (:new."EmployeeID" IS NULL) THEN\r
+ // SELECT Employees_seq.NEXTVAL INTO :new."EmployeeID" FROM DUAL;\r
+ // END IF;\r
+ //END;\r
+ string expression, column;\r
+ if (MatchTrigger(TriggerMatch1, body, out expression, out column))\r
+ {\r
+ constraint.ColumnName = column.Trim('"');\r
+ constraint.Expression = expression;\r
+ }\r
+ return constraint;\r
+ }\r
+\r
+ protected virtual List<DataConstraint> ReadConstraints(IDbConnection conn, string db)\r
+ {\r
+ var constraints = new List<DataConstraint>();\r
+\r
+ string sql = @"\r
+SELECT UCC.owner, UCC.constraint_name, UCC.table_name, UCC.column_name, UC.constraint_type, UC.R_constraint_name\r
+FROM all_cons_columns UCC, all_constraints UC\r
+WHERE UCC.constraint_name=UC.constraint_name\r
+AND UCC.table_name=UC.table_name\r
+AND UCC.TABLE_NAME NOT LIKE '%$%' AND UCC.TABLE_NAME NOT LIKE 'LOGMNR%' AND UCC.TABLE_NAME NOT IN ('HELP','SQLPLUS_PRODUCT_PROFILE')\r
+AND UC.CONSTRAINT_TYPE!='C'\r
+and lower(UCC.owner) = :owner";\r
+\r
+ constraints.AddRange(DataCommand.Find<DataConstraint>(conn, sql, ":owner", db.ToLower(), ReadConstraint));\r
+\r
+ string sql2 =\r
+ @"\r
+select t.TRIGGER_NAME, t.TABLE_OWNER, t.TABLE_NAME, t.TRIGGER_BODY from ALL_TRIGGERS t\r
+where t.status = 'ENABLED'\r
+ and t.TRIGGERING_EVENT = 'INSERT'\r
+ and t.TRIGGER_TYPE='BEFORE EACH ROW'\r
+ and lower(t.owner) = :owner";\r
+\r
+ constraints.AddRange(DataCommand.Find<DataConstraint>(conn, sql2, ":owner", db.ToLower(), ReadTrigger));\r
+ return constraints;\r
+ }\r
+ }\r
+}\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-using System.Collections.Generic;
-using System.Data;
-using DbLinq.Util;
-using DbLinq.Vendor;
-
-namespace DbLinq.Oracle
-{
- public partial class OracleSchemaLoader
- {
- public override IList<IDataName> ReadTables(IDbConnection connectionString, string databaseName)
- {
- // note: the ReadDataNameAndSchema relies on information order
- const string sql = @"
-SELECT table_name, owner
-FROM all_tables
-WHERE table_name NOT LIKE '%$%'
-AND table_name NOT LIKE 'LOGMNR%'
-AND table_name NOT IN ('SQLPLUS_PRODUCT_PROFILE','HELP')
-and lower(owner) = :owner
-UNION
-SELECT view_name, owner
-FROM all_views
-WHERE lower(owner) = :owner
-";
-
- return DataCommand.Find<IDataName>(connectionString, sql, ":owner", databaseName.ToLower(), ReadDataNameAndSchema);
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+using System.Collections.Generic;\r
+using System.Data;\r
+using DbLinq.Util;\r
+using DbLinq.Vendor;\r
+\r
+namespace DbLinq.Oracle\r
+{\r
+ public partial class OracleSchemaLoader\r
+ {\r
+ public override IList<IDataName> ReadTables(IDbConnection connectionString, string databaseName)\r
+ {\r
+ // note: the ReadDataNameAndSchema relies on information order\r
+ const string sql = @"\r
+SELECT table_name, owner\r
+FROM all_tables \r
+WHERE table_name NOT LIKE '%$%' \r
+AND table_name NOT LIKE 'LOGMNR%' \r
+AND table_name NOT IN ('SQLPLUS_PRODUCT_PROFILE','HELP')\r
+and lower(owner) = :owner\r
+UNION\r
+SELECT view_name, owner\r
+FROM all_views\r
+WHERE lower(owner) = :owner\r
+";\r
+\r
+ return DataCommand.Find<IDataName>(connectionString, sql, ":owner", databaseName.ToLower(), ReadDataNameAndSchema);\r
+ }\r
+ }\r
+}\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Linq;
-using DbLinq.Schema;
-using DbLinq.Schema.Dbml;
-using DbLinq.Util;
-using DbLinq.Vendor;
-using DbLinq.Vendor.Implementation;
-
-namespace DbLinq.Oracle
-{
- partial class OracleSchemaLoader : SchemaLoader
- {
- private readonly Vendor.IVendor vendor = new OracleVendor();
- public override IVendor Vendor { get { return vendor; } }
-
- public override System.Type DataContextType { get { return typeof(OracleDataContext); } }
-
- protected override void LoadConstraints(Database schema, SchemaName schemaName, IDbConnection conn, NameFormat nameFormat, Names names)
- {
- var constraints = ReadConstraints(conn, schemaName.DbName);
-
- foreach (DataConstraint constraint in constraints)
- {
- //find my table:
- string constraintFullDbName = GetFullDbName(constraint.TableName, constraint.TableSchema);
- DbLinq.Schema.Dbml.Table table = schema.Tables.FirstOrDefault(t => constraintFullDbName == t.Name);
- if (table == null)
- {
- WriteErrorLine("ERROR L100: Table '" + constraint.TableName + "' not found for column " + constraint.ColumnName);
- continue;
- }
-
- //if (table.Name.StartsWith("E"))
- // Logger.Write("---Dbg");
-
- if (constraint.ConstraintType == "P")
- {
- //A) add primary key
- DbLinq.Schema.Dbml.Column pkColumn = table.Type.Columns.Where(c => c.Name == constraint.ColumnName).First();
- pkColumn.IsPrimaryKey = true;
- }
- else if (constraint.ConstraintType == "R")
- {
- //if not PRIMARY, it's a foreign key. (constraint_type=="R")
- //both parent and child table get an [Association]
- DataConstraint referencedConstraint = constraints.FirstOrDefault(c => c.ConstraintName == constraint.ReverseConstraintName);
- if (constraint.ReverseConstraintName == null || referencedConstraint == null)
- {
- WriteErrorLine("ERROR L127: given R_contraint_name='" + constraint.ReverseConstraintName + "', unable to find parent constraint");
- continue;
- }
-
- LoadForeignKey(schema, table, constraint.ColumnName, constraint.TableName, constraint.TableSchema,
- referencedConstraint.ColumnName, referencedConstraint.TableName,
- referencedConstraint.TableSchema,
- constraint.ConstraintName, nameFormat, names);
-
- }
- // custom type, this is a trigger
- else if (constraint.ConstraintType == "T" && constraint.ColumnName != null)
- {
- var column = table.Type.Columns.Where(c => c.Name == constraint.ColumnName).First();
- column.Expression = constraint.Expression;
- column.IsDbGenerated = true;
- }
- }
-
- //GuessSequencePopulatedFields(schema);
- }
-
- /// <summary>
- /// guess which fields are populated by sequences.
- /// Mark them with [AutoGenId].
- /// </summary>
- public static void GuessSequencePopulatedFields(DbLinq.Schema.Dbml.Database schema)
- {
- if (schema == null)
- return;
- foreach (DbLinq.Schema.Dbml.Table tbl in schema.Tables)
- {
- var q = from col in tbl.Type.Columns
- where col.IsPrimaryKey
- select col;
- List<DbLinq.Schema.Dbml.Column> cols = q.ToList();
- bool canBeFromSequence = cols.Count == 1
- && (!cols[0].CanBeNull)
- && (cols[0].DbType == "NUMBER" || cols[0].DbType == "INTEGER");
- if (canBeFromSequence)
- {
- //TODO: query sequences, store sequence name.
- //in the meantime, assume naming convention similar to 'Products_seq'
- cols[0].IsDbGenerated = true;
- }
- }
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Data;\r
+using System.Linq;\r
+using DbLinq.Schema;\r
+using DbLinq.Schema.Dbml;\r
+using DbLinq.Util;\r
+using DbLinq.Vendor;\r
+using DbLinq.Vendor.Implementation;\r
+\r
+namespace DbLinq.Oracle\r
+{\r
+ partial class OracleSchemaLoader : SchemaLoader\r
+ {\r
+ private readonly Vendor.IVendor vendor = new OracleVendor();\r
+ public override IVendor Vendor { get { return vendor; } }\r
+\r
+ public override System.Type DataContextType { get { return typeof(OracleDataContext); } }\r
+\r
+ protected override void LoadConstraints(Database schema, SchemaName schemaName, IDbConnection conn, NameFormat nameFormat, Names names)\r
+ {\r
+ var constraints = ReadConstraints(conn, schemaName.DbName);\r
+\r
+ foreach (DataConstraint constraint in constraints)\r
+ {\r
+ //find my table:\r
+ string constraintFullDbName = GetFullDbName(constraint.TableName, constraint.TableSchema);\r
+ DbLinq.Schema.Dbml.Table table = schema.Tables.FirstOrDefault(t => constraintFullDbName == t.Name);\r
+ if (table == null)\r
+ {\r
+ WriteErrorLine("ERROR L100: Table '" + constraint.TableName + "' not found for column " + constraint.ColumnName);\r
+ continue;\r
+ }\r
+\r
+ //if (table.Name.StartsWith("E"))\r
+ // Logger.Write("---Dbg");\r
+\r
+ if (constraint.ConstraintType == "P")\r
+ {\r
+ //A) add primary key\r
+ DbLinq.Schema.Dbml.Column pkColumn = table.Type.Columns.Where(c => c.Name == constraint.ColumnName).First();\r
+ pkColumn.IsPrimaryKey = true;\r
+ }\r
+ else if (constraint.ConstraintType == "R")\r
+ {\r
+ //if not PRIMARY, it's a foreign key. (constraint_type=="R")\r
+ //both parent and child table get an [Association]\r
+ DataConstraint referencedConstraint = constraints.FirstOrDefault(c => c.ConstraintName == constraint.ReverseConstraintName);\r
+ if (constraint.ReverseConstraintName == null || referencedConstraint == null)\r
+ {\r
+ WriteErrorLine("ERROR L127: given R_contraint_name='" + constraint.ReverseConstraintName + "', unable to find parent constraint");\r
+ continue;\r
+ }\r
+\r
+ LoadForeignKey(schema, table, constraint.ColumnName, constraint.TableName, constraint.TableSchema,\r
+ referencedConstraint.ColumnName, referencedConstraint.TableName,\r
+ referencedConstraint.TableSchema,\r
+ constraint.ConstraintName, nameFormat, names);\r
+\r
+ }\r
+ // custom type, this is a trigger\r
+ else if (constraint.ConstraintType == "T" && constraint.ColumnName != null)\r
+ {\r
+ var column = table.Type.Columns.Where(c => c.Name == constraint.ColumnName).First();\r
+ column.Expression = constraint.Expression;\r
+ column.IsDbGenerated = true;\r
+ }\r
+ }\r
+\r
+ //GuessSequencePopulatedFields(schema);\r
+ }\r
+\r
+ /// <summary>\r
+ /// guess which fields are populated by sequences.\r
+ /// Mark them with [AutoGenId].\r
+ /// </summary>\r
+ public static void GuessSequencePopulatedFields(DbLinq.Schema.Dbml.Database schema)\r
+ {\r
+ if (schema == null)\r
+ return;\r
+ foreach (DbLinq.Schema.Dbml.Table tbl in schema.Tables)\r
+ {\r
+ var q = from col in tbl.Type.Columns\r
+ where col.IsPrimaryKey\r
+ select col;\r
+ List<DbLinq.Schema.Dbml.Column> cols = q.ToList();\r
+ bool canBeFromSequence = cols.Count == 1\r
+ && (!cols[0].CanBeNull)\r
+ && (cols[0].DbType == "NUMBER" || cols[0].DbType == "INTEGER");\r
+ if (canBeFromSequence)\r
+ {\r
+ //TODO: query sequences, store sequence name.\r
+ //in the meantime, assume naming convention similar to 'Products_seq'\r
+ cols[0].IsDbGenerated = true;\r
+ }\r
+ }\r
+ }\r
+ }\r
+}\r
\r
protected override string ConnectionStringDatabase { get { return null; } }\r
protected override string ConnectionStringServer { get { return "data source"; } }\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "Oracle.DataAccess.DLL",\r
- className = "OracleConnection",\r
- };\r
- }\r
}\r
}\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}</ProjectGuid>\r
+ <OutputType>WinExe</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.Oracle_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;ORACLE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;ORACLE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System.Data.OracleClient" />\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.XML" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.Ora.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program3Ora.cs">\r
+ <Link>Providers\Program3Ora.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.Oracle.csproj">\r
+ <Project>{D9DE72A2-D885-4C54-A89E-302E6829101C}</Project>\r
+ <Name>DbLinq.Oracle</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\App.config">\r
+ <Link>Providers\App.config</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Content Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </Content>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}</ProjectGuid>\r
+ <OutputType>WinExe</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.Oracle_test_odp</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;ORACLE;ODP</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;ORACLE;ODP</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="Oracle.DataAccess, Version=10.1.0.400, Culture=neutral, PublicKeyToken=89b483f429c47342">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\Oracle.DataAccess.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.XML" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.Ora.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program3Ora.cs">\r
+ <Link>Providers\Program3Ora.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase_odp.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.Oracle.csproj">\r
+ <Project>{D9DE72A2-D885-4C54-A89E-302E6829101C}</Project>\r
+ <Name>DbLinq.Oracle</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\App.config">\r
+ <Link>Providers\App.config</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Content Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </Content>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>\r
+<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Northwind" Class="Northwind" Provider="OracleODP" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">\r
+ <Table Name="NORTHWIND.CASETEST" Member="CaseTests">\r
+ <Type Name="CaseTest">\r
+ <Column Name="NOCASE" Member="NoCase" Storage="noCase" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="Number1" Member="Number1" Storage="number1" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="Number2" Member="Number2" Storage="number2" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="value0" Member="Value0" Storage="value0" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="WithCase" Member="WithCase" Storage="withCase" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.CaseTest2" Member="CaseTest2">\r
+ <Type Name="CaseTest2">\r
+ <Column Name="SimpleColumn" Member="SimpleColumn" Storage="simpleColumn" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.CATEGORIES" Member="Categories">\r
+ <Type Name="Category">\r
+ <Association Name="SYS_C004131" Member="Products" Type="Product" ThisKey="CategoryId" OtherKey="CategoryId" />\r
+ <Column Name="CATEGORYID" Member="CategoryId" Storage="categoryId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="CATEGORYNAME" Member="CategoryName" Storage="categoryName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="DESCRIPTION" Member="Description" Storage="description" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PICTURE" Member="Picture" Storage="picture" Type="System.Byte[]" DbType="BLOB" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.CUSTOMERS" Member="Customers">\r
+ <Type Name="Customer">\r
+ <Association Name="SYS_C004148" Member="Orders" Type="Order" ThisKey="CustomerId" OtherKey="CustomerId" />\r
+ <Column Name="ADDRESS" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CITY" Member="City" Storage="city" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COMPANYNAME" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="CONTACTNAME" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CONTACTTITLE" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COUNTRY" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CUSTOMERID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR2" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="FAX" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PHONE" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="POSTALCODE" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REGION" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.EMPLOYEES" Member="Employees">\r
+ <Type Name="Employee">\r
+ <Association Name="SYS_C004140" Member="ParentEmployee" Storage="sysC004140" Type="Employee" ThisKey="ReportsTo" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004140" Member="Employees" Type="Employee" ThisKey="EmployeeId" OtherKey="ReportsTo" />\r
+ <Association Name="SYS_C004144" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Association Name="SYS_C004149" Member="Orders" Type="Order" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Column Name="ADDRESS" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="BIRTHDATE" Member="BirthDate" Storage="birthDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="CITY" Member="City" Storage="city" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COUNTRY" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="EMPLOYEEID" Member="EmployeeId" Storage="employeeId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="FIRSTNAME" Member="FirstName" Storage="firstName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="HIREDATE" Member="HireDate" Storage="hireDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="HOMEPHONE" Member="HomePhone" Storage="homePhone" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="LASTNAME" Member="LastName" Storage="lastName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="NOTES" Member="Notes" Storage="notes" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PHOTO" Member="Photo" Storage="photo" Type="System.Byte[]" DbType="BLOB" CanBeNull="true" />\r
+ <Column Name="POSTALCODE" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REGION" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REPORTSTO" Member="ReportsTo" Storage="reportsTo" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="TITLE" Member="Title" Storage="title" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.EMPLOYEETERRITORIES" Member="EmployeeTerritories">\r
+ <Type Name="EmployeeTerritory">\r
+ <Association Name="SYS_C004145" Member="Territory" Storage="sysC004145" Type="Territory" ThisKey="TerritoryId" OtherKey="TerritoryId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004144" Member="Employee" Storage="sysC004144" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Column Name="EMPLOYEEID" Member="EmployeeId" Storage="employeeId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="TERRITORYID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR2" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.ORDERS" Member="Orders">\r
+ <Type Name="Order">\r
+ <Association Name="SYS_C004149" Member="Employee" Storage="sysC004149" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004148" Member="Customer" Storage="sysC004148" Type="Customer" ThisKey="CustomerId" OtherKey="CustomerId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004156" Member="OrderDetails" Type="OrderDetail" ThisKey="OrderId" OtherKey="OrderId" />\r
+ <Column Name="CUSTOMERID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="EMPLOYEEID" Member="EmployeeId" Storage="employeeId" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="FREIGHT" Member="Freight" Storage="freight" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="ORDERDATE" Member="OrderDate" Storage="orderDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="ORDERID" Member="OrderId" Storage="orderId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="REQUIREDDATE" Member="RequiredDate" Storage="requiredDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="SHIPADDRESS" Member="ShipAddress" Storage="shipAddress" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPCITY" Member="ShipCity" Storage="shipCity" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPCOUNTRY" Member="ShipCountry" Storage="shipCountry" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPNAME" Member="ShipName" Storage="shipName" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPPEDDATE" Member="ShippedDate" Storage="shippedDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="SHIPPOSTALCODE" Member="ShipPostalCode" Storage="shipPostalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPREGION" Member="ShipRegion" Storage="shipRegion" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPVIA" Member="ShipVia" Storage="shipVia" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.ORDERDETAILS" Member="OrderDetails">\r
+ <Type Name="OrderDetail">\r
+ <Association Name="SYS_C004157" Member="Product" Storage="sysC004157" Type="Product" ThisKey="ProductId" OtherKey="ProductId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004156" Member="Order" Storage="sysC004156" Type="Order" ThisKey="OrderId" OtherKey="OrderId" IsForeignKey="true" />\r
+ <Column Name="DISCOUNT" Member="Discount" Storage="discount" Type="System.Single" DbType="FLOAT" CanBeNull="false" />\r
+ <Column Name="ORDERID" Member="OrderId" Storage="orderId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="PRODUCTID" Member="ProductId" Storage="productId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="QUANTITY" Member="Quantity" Storage="quantity" Type="System.Decimal" DbType="NUMBER" CanBeNull="false" />\r
+ <Column Name="UNITPRICE" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="NUMBER" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.PRODUCTS" Member="Products">\r
+ <Type Name="Product">\r
+ <Association Name="SYS_C004132" Member="Supplier" Storage="sysC004132" Type="Supplier" ThisKey="SupplierId" OtherKey="SupplierId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004131" Member="Category" Storage="sysC004131" Type="Category" ThisKey="CategoryId" OtherKey="CategoryId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004157" Member="OrderDetails" Type="OrderDetail" ThisKey="ProductId" OtherKey="ProductId" />\r
+ <Column Name="CATEGORYID" Member="CategoryId" Storage="categoryId" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="DISCONTINUED" Member="Discontinued" Storage="discontinued" Type="System.Boolean" DbType="NUMBER" CanBeNull="false" />\r
+ <Column Name="PRODUCTID" Member="ProductId" Storage="productId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="PRODUCTNAME" Member="ProductName" Storage="productName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="QUANTITYPERUNIT" Member="QuantityPerUnit" Storage="quantityPerUnit" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REORDERLEVEL" Member="ReorderLevel" Storage="reorderLevel" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="SUPPLIERID" Member="SupplierId" Storage="supplierId" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="UNITPRICE" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="UNITSINSTOCK" Member="UnitsInStock" Storage="unitsInStock" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="UNITSONORDER" Member="UnitsOnOrder" Storage="unitsOnOrder" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.REGION" Member="Regions">\r
+ <Type Name="Region">\r
+ <Association Name="SYS_C004120" Member="Territories" Type="Territory" ThisKey="RegionId" OtherKey="RegionId" />\r
+ <Column Name="REGIONDESCRIPTION" Member="RegionDescription" Storage="regionDescription" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="REGIONID" Member="RegionId" Storage="regionId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.SUPPLIERS" Member="Suppliers">\r
+ <Type Name="Supplier">\r
+ <Association Name="SYS_C004132" Member="Products" Type="Product" ThisKey="SupplierId" OtherKey="SupplierId" />\r
+ <Column Name="ADDRESS" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CITY" Member="City" Storage="city" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COMPANYNAME" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="CONTACTNAME" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CONTACTTITLE" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COUNTRY" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="FAX" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PHONE" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="POSTALCODE" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REGION" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SUPPLIERID" Member="SupplierId" Storage="supplierId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.TERRITORIES" Member="Territories">\r
+ <Type Name="Territory">\r
+ <Association Name="SYS_C004120" Member="Region" Storage="sysC004120" Type="Region" ThisKey="RegionId" OtherKey="RegionId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004145" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="TerritoryId" OtherKey="TerritoryId" />\r
+ <Column Name="REGIONID" Member="RegionId" Storage="regionId" Type="System.Decimal" DbType="NUMBER" CanBeNull="false" />\r
+ <Column Name="TERRITORYDESCRIPTION" Member="TerritoryDescription" Storage="territoryDescription" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="TERRITORYID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR2" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+</Database>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>\r
+<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Northwind" Class="Northwind" Provider="Oracle" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">\r
+ <Table Name="NORTHWIND.CASETEST" Member="CaseTests">\r
+ <Type Name="CaseTest">\r
+ <Column Name="NOCASE" Member="NoCase" Storage="noCase" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="Number1" Member="Number1" Storage="number1" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="Number2" Member="Number2" Storage="number2" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="value0" Member="Value0" Storage="value0" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="WithCase" Member="WithCase" Storage="withCase" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.CaseTest2" Member="CaseTest2">\r
+ <Type Name="CaseTest2">\r
+ <Column Name="SimpleColumn" Member="SimpleColumn" Storage="simpleColumn" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.CATEGORIES" Member="Categories">\r
+ <Type Name="Category">\r
+ <Association Name="SYS_C004131" Member="Products" Type="Product" ThisKey="CategoryId" OtherKey="CategoryId" />\r
+ <Column Name="CATEGORYID" Member="CategoryId" Storage="categoryId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="CATEGORYNAME" Member="CategoryName" Storage="categoryName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="DESCRIPTION" Member="Description" Storage="description" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PICTURE" Member="Picture" Storage="picture" Type="System.Byte[]" DbType="BLOB" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.CUSTOMERS" Member="Customers">\r
+ <Type Name="Customer">\r
+ <Association Name="SYS_C004148" Member="Orders" Type="Order" ThisKey="CustomerId" OtherKey="CustomerId" />\r
+ <Column Name="ADDRESS" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CITY" Member="City" Storage="city" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COMPANYNAME" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="CONTACTNAME" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CONTACTTITLE" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COUNTRY" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CUSTOMERID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR2" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="FAX" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PHONE" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="POSTALCODE" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REGION" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.EMPLOYEES" Member="Employees">\r
+ <Type Name="Employee">\r
+ <Association Name="SYS_C004140" Member="ParentEmployee" Storage="sysC004140" Type="Employee" ThisKey="ReportsTo" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004140" Member="Employees" Type="Employee" ThisKey="EmployeeId" OtherKey="ReportsTo" />\r
+ <Association Name="SYS_C004144" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Association Name="SYS_C004149" Member="Orders" Type="Order" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Column Name="ADDRESS" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="BIRTHDATE" Member="BirthDate" Storage="birthDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="CITY" Member="City" Storage="city" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COUNTRY" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="EMPLOYEEID" Member="EmployeeId" Storage="employeeId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="FIRSTNAME" Member="FirstName" Storage="firstName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="HIREDATE" Member="HireDate" Storage="hireDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="HOMEPHONE" Member="HomePhone" Storage="homePhone" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="LASTNAME" Member="LastName" Storage="lastName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="NOTES" Member="Notes" Storage="notes" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PHOTO" Member="Photo" Storage="photo" Type="System.Byte[]" DbType="BLOB" CanBeNull="true" />\r
+ <Column Name="POSTALCODE" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REGION" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REPORTSTO" Member="ReportsTo" Storage="reportsTo" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="TITLE" Member="Title" Storage="title" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.EMPLOYEETERRITORIES" Member="EmployeeTerritories">\r
+ <Type Name="EmployeeTerritory">\r
+ <Association Name="SYS_C004145" Member="Territory" Storage="sysC004145" Type="Territory" ThisKey="TerritoryId" OtherKey="TerritoryId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004144" Member="Employee" Storage="sysC004144" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Column Name="EMPLOYEEID" Member="EmployeeId" Storage="employeeId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="TERRITORYID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR2" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.ORDERS" Member="Orders">\r
+ <Type Name="Order">\r
+ <Association Name="SYS_C004149" Member="Employee" Storage="sysC004149" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004148" Member="Customer" Storage="sysC004148" Type="Customer" ThisKey="CustomerId" OtherKey="CustomerId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004156" Member="OrderDetails" Type="OrderDetail" ThisKey="OrderId" OtherKey="OrderId" />\r
+ <Column Name="CUSTOMERID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="EMPLOYEEID" Member="EmployeeId" Storage="employeeId" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="FREIGHT" Member="Freight" Storage="freight" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="ORDERDATE" Member="OrderDate" Storage="orderDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="ORDERID" Member="OrderId" Storage="orderId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="REQUIREDDATE" Member="RequiredDate" Storage="requiredDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="SHIPADDRESS" Member="ShipAddress" Storage="shipAddress" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPCITY" Member="ShipCity" Storage="shipCity" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPCOUNTRY" Member="ShipCountry" Storage="shipCountry" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPNAME" Member="ShipName" Storage="shipName" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPPEDDATE" Member="ShippedDate" Storage="shippedDate" Type="System.DateTime" DbType="DATE" CanBeNull="true" />\r
+ <Column Name="SHIPPOSTALCODE" Member="ShipPostalCode" Storage="shipPostalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPREGION" Member="ShipRegion" Storage="shipRegion" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SHIPVIA" Member="ShipVia" Storage="shipVia" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.ORDERDETAILS" Member="OrderDetails">\r
+ <Type Name="OrderDetail">\r
+ <Association Name="SYS_C004157" Member="Product" Storage="sysC004157" Type="Product" ThisKey="ProductId" OtherKey="ProductId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004156" Member="Order" Storage="sysC004156" Type="Order" ThisKey="OrderId" OtherKey="OrderId" IsForeignKey="true" />\r
+ <Column Name="DISCOUNT" Member="Discount" Storage="discount" Type="System.Single" DbType="FLOAT" CanBeNull="false" />\r
+ <Column Name="ORDERID" Member="OrderId" Storage="orderId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="PRODUCTID" Member="ProductId" Storage="productId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="QUANTITY" Member="Quantity" Storage="quantity" Type="System.Decimal" DbType="NUMBER" CanBeNull="false" />\r
+ <Column Name="UNITPRICE" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="NUMBER" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.PRODUCTS" Member="Products">\r
+ <Type Name="Product">\r
+ <Association Name="SYS_C004132" Member="Supplier" Storage="sysC004132" Type="Supplier" ThisKey="SupplierId" OtherKey="SupplierId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004131" Member="Category" Storage="sysC004131" Type="Category" ThisKey="CategoryId" OtherKey="CategoryId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004157" Member="OrderDetails" Type="OrderDetail" ThisKey="ProductId" OtherKey="ProductId" />\r
+ <Column Name="CATEGORYID" Member="CategoryId" Storage="categoryId" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="DISCONTINUED" Member="Discontinued" Storage="discontinued" Type="System.Boolean" DbType="NUMBER" CanBeNull="false" />\r
+ <Column Name="PRODUCTID" Member="ProductId" Storage="productId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ <Column Name="PRODUCTNAME" Member="ProductName" Storage="productName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="QUANTITYPERUNIT" Member="QuantityPerUnit" Storage="quantityPerUnit" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REORDERLEVEL" Member="ReorderLevel" Storage="reorderLevel" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="SUPPLIERID" Member="SupplierId" Storage="supplierId" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="UNITPRICE" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="UNITSINSTOCK" Member="UnitsInStock" Storage="unitsInStock" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ <Column Name="UNITSONORDER" Member="UnitsOnOrder" Storage="unitsOnOrder" Type="System.Decimal" DbType="NUMBER" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.REGION" Member="Regions">\r
+ <Type Name="Region">\r
+ <Association Name="SYS_C004120" Member="Territories" Type="Territory" ThisKey="RegionId" OtherKey="RegionId" />\r
+ <Column Name="REGIONDESCRIPTION" Member="RegionDescription" Storage="regionDescription" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="REGIONID" Member="RegionId" Storage="regionId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.SUPPLIERS" Member="Suppliers">\r
+ <Type Name="Supplier">\r
+ <Association Name="SYS_C004132" Member="Products" Type="Product" ThisKey="SupplierId" OtherKey="SupplierId" />\r
+ <Column Name="ADDRESS" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CITY" Member="City" Storage="city" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COMPANYNAME" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="CONTACTNAME" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="CONTACTTITLE" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="COUNTRY" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="FAX" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="PHONE" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="POSTALCODE" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="REGION" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR2" CanBeNull="true" />\r
+ <Column Name="SUPPLIERID" Member="SupplierId" Storage="supplierId" Type="System.Decimal" DbType="NUMBER" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="NORTHWIND.TERRITORIES" Member="Territories">\r
+ <Type Name="Territory">\r
+ <Association Name="SYS_C004120" Member="Region" Storage="sysC004120" Type="Region" ThisKey="RegionId" OtherKey="RegionId" IsForeignKey="true" />\r
+ <Association Name="SYS_C004145" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="TerritoryId" OtherKey="TerritoryId" />\r
+ <Column Name="REGIONID" Member="RegionId" Storage="regionId" Type="System.Decimal" DbType="NUMBER" CanBeNull="false" />\r
+ <Column Name="TERRITORYDESCRIPTION" Member="TerritoryDescription" Storage="territoryDescription" Type="System.String" DbType="VARCHAR2" CanBeNull="false" />\r
+ <Column Name="TERRITORYID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR2" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+</Database>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.Ordinal;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new System.Data.OracleClient.OracleCommand(sql, (System.Data.OracleClient.OracleConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new System.Data.OracleClient.OracleConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.Oracle.OracleVendor();\r
+ }\r
+ }\r
+}\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.Ordinal;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new Oracle.DataAccess.Client.OracleCommand(sql, (Oracle.DataAccess.Client.OracleConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new Oracle.DataAccess.Client.OracleConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.Oracle.OracleVendor();\r
+ }\r
+ }\r
+}\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
}\r
return outParamValues;\r
}\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "Npgsql.DLL",\r
- className = "NpgsqlConnection",\r
- };\r
- }\r
}\r
}\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{858BAFF7-542F-4DBB-940B-57333E4DB7CE}</ProjectGuid>\r
+ <OutputType>WinExe</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.PostgreSql_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;POSTGRES</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;POSTGRES</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Npgsql, Version=1.98.3.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\Npgsql.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.Pgsql.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program2Pg.cs">\r
+ <Link>Providers\Program2Pg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Content Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </Content>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.PostgreSql.csproj">\r
+ <Project>{32824F7E-9260-413C-B174-F3E315936FA7}</Project>\r
+ <Name>DbLinq.PostgreSql</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>\r
+<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="northwind" Class="NorthWind" Provider="PostgreSQL" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">\r
+ <Table Name="public.categories" Member="Categories">\r
+ <Type Name="Category">\r
+ <Association Name="fk_prod_catg" Member="Products" Type="Product" ThisKey="CategoryId" OtherKey="CategoryId" />\r
+ <Column Name="categoryid" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('categories_categoryid_seq')" />\r
+ <Column Name="categoryname" Member="CategoryName" Storage="categoryName" Type="System.String" DbType="character varying(15)" CanBeNull="false" />\r
+ <Column Name="description" Member="Description" Storage="description" Type="System.String" DbType="text" CanBeNull="true" />\r
+ <Column Name="picture" Member="Picture" Storage="picture" Type="System.Byte[]" DbType="oid" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.customers" Member="Customers">\r
+ <Type Name="Customer">\r
+ <Association Name="fk_order_customer" Member="Orders" Type="Order" ThisKey="CustomerId" OtherKey="CustomerId" />\r
+ <Column Name="address" Member="Address" Storage="address" Type="System.String" DbType="character varying(60)" CanBeNull="true" />\r
+ <Column Name="city" Member="City" Storage="city" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="companyname" Member="CompanyName" Storage="companyName" Type="System.String" DbType="character varying(40)" CanBeNull="false" />\r
+ <Column Name="contactname" Member="ContactName" Storage="contactName" Type="System.String" DbType="character varying(30)" CanBeNull="false" />\r
+ <Column Name="contacttitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="character varying(30)" CanBeNull="true" />\r
+ <Column Name="country" Member="Country" Storage="country" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="customerid" Member="CustomerId" Storage="customerId" Type="System.String" DbType="character varying(5)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="fax" Member="Fax" Storage="fax" Type="System.String" DbType="character varying(24)" CanBeNull="true" />\r
+ <Column Name="phone" Member="Phone" Storage="phone" Type="System.String" DbType="character varying(24)" CanBeNull="true" />\r
+ <Column Name="postalcode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="character varying(10)" CanBeNull="true" />\r
+ <Column Name="region" Member="Region" Storage="region" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.employees" Member="Employees">\r
+ <Type Name="Employee">\r
+ <Association Name="fk_emp_reportstoemp" Member="ParentEmployee" Storage="fkEmPReportsToeMp" Type="Employee" ThisKey="ReportsTo" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="fk_emp_reportstoemp" Member="Employees" Type="Employee" ThisKey="EmployeeId" OtherKey="ReportsTo" />\r
+ <Association Name="employeeterritories_employeeid_fkey" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Association Name="fk_order_product" Member="Orders" Type="Order" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Column Name="address" Member="Address" Storage="address" Type="System.String" DbType="character varying(60)" CanBeNull="true" />\r
+ <Column Name="birthdate" Member="BirthDate" Storage="birthDate" Type="System.DateTime" DbType="date" CanBeNull="true" />\r
+ <Column Name="city" Member="City" Storage="city" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="country" Member="Country" Storage="country" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="employeeid" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('employees_employeeid_seq')" />\r
+ <Column Name="firstname" Member="FirstName" Storage="firstName" Type="System.String" DbType="character varying(10)" CanBeNull="false" />\r
+ <Column Name="hiredate" Member="HireDate" Storage="hireDate" Type="System.DateTime" DbType="timestamp without time zone" CanBeNull="true" />\r
+ <Column Name="homephone" Member="HomePhone" Storage="homePhone" Type="System.String" DbType="character varying(24)" CanBeNull="true" />\r
+ <Column Name="lastname" Member="LastName" Storage="lastName" Type="System.String" DbType="character varying(20)" CanBeNull="false" />\r
+ <Column Name="notes" Member="Notes" Storage="notes" Type="System.String" DbType="text" CanBeNull="true" />\r
+ <Column Name="photo" Member="Photo" Storage="photo" Type="System.Byte[]" DbType="oid" CanBeNull="true" />\r
+ <Column Name="postalcode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="character varying(10)" CanBeNull="true" />\r
+ <Column Name="region" Member="Region" Storage="region" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="reportsto" Member="ReportsTo" Storage="reportsTo" Type="System.Int32" DbType="integer(32,0)" CanBeNull="true" />\r
+ <Column Name="title" Member="Title" Storage="title" Type="System.String" DbType="character varying(30)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.employeeterritories" Member="EmployeeTerritories">\r
+ <Type Name="EmployeeTerritory">\r
+ <Association Name="employeeterritories_employeeid_fkey" Member="Employee" Storage="employeeTerritoriesEmployeeIdFkEY" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="employeeterritories_territoryid_fkey" Member="Territory" Storage="employeeTerritoriesTerritoryIdFkEY" Type="Territory" ThisKey="TerritoryId" OtherKey="TerritoryId" IsForeignKey="true" />\r
+ <Column Name="employeeid" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="territoryid" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="character varying(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.orders" Member="Orders">\r
+ <Type Name="Order">\r
+ <Association Name="fk_order_customer" Member="Customer" Storage="fkOrderCustomer" Type="Customer" ThisKey="CustomerId" OtherKey="CustomerId" IsForeignKey="true" />\r
+ <Association Name="fk_order_product" Member="Employee" Storage="fkOrderProduct" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="orderdetails_orderid_fkey" Member="OrderDetails" Type="OrderDetail" ThisKey="OrderId" OtherKey="OrderId" />\r
+ <Column Name="customerid" Member="CustomerId" Storage="customerId" Type="System.String" DbType="character varying(5)" CanBeNull="false" />\r
+ <Column Name="employeeid" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="integer(32,0)" CanBeNull="true" />\r
+ <Column Name="freight" Member="Freight" Storage="freight" Type="System.Decimal" DbType="numeric" CanBeNull="true" />\r
+ <Column Name="orderdate" Member="OrderDate" Storage="orderDate" Type="System.DateTime" DbType="timestamp without time zone" CanBeNull="true" />\r
+ <Column Name="orderid" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('orders_orderid_seq')" />\r
+ <Column Name="requireddate" Member="RequiredDate" Storage="requiredDate" Type="System.DateTime" DbType="timestamp without time zone" CanBeNull="true" />\r
+ <Column Name="shipaddress" Member="ShipAddress" Storage="shipAddress" Type="System.String" DbType="character varying(60)" CanBeNull="true" />\r
+ <Column Name="shipcity" Member="ShipCity" Storage="shipCity" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="shipcountry" Member="ShipCountry" Storage="shipCountry" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="shipname" Member="ShipName" Storage="shipName" Type="System.String" DbType="character varying(40)" CanBeNull="true" />\r
+ <Column Name="shippeddate" Member="ShippedDate" Storage="shippedDate" Type="System.DateTime" DbType="timestamp without time zone" CanBeNull="true" />\r
+ <Column Name="shippostalcode" Member="ShipPostalCode" Storage="shipPostalCode" Type="System.String" DbType="character varying(10)" CanBeNull="true" />\r
+ <Column Name="shipregion" Member="ShipRegion" Storage="shipRegion" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="shipvia" Member="ShipVia" Storage="shipVia" Type="System.Int32" DbType="integer(32,0)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.orderdetails" Member="OrderDetails">\r
+ <Type Name="OrderDetail">\r
+ <Association Name="orderdetails_orderid_fkey" Member="Order" Storage="orderDetailsOrderIdFkEY" Type="Order" ThisKey="OrderId" OtherKey="OrderId" IsForeignKey="true" />\r
+ <Association Name="orderdetails_productid_fkey" Member="Product" Storage="orderDetailsProductIdFkEY" Type="Product" ThisKey="ProductId" OtherKey="ProductId" IsForeignKey="true" />\r
+ <Column Name="discount" Member="Discount" Storage="discount" Type="System.Double" DbType="double precision" CanBeNull="true" />\r
+ <Column Name="orderid" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="productid" Member="ProductId" Storage="productId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="quantity" Member="Quantity" Storage="quantity" Type="System.Int32" DbType="integer(32,0)" CanBeNull="true" />\r
+ <Column Name="unitprice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="numeric" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.products" Member="Products">\r
+ <Type Name="Product">\r
+ <Association Name="fk_prod_catg" Member="Category" Storage="fkProdCatG" Type="Category" ThisKey="CategoryId" OtherKey="CategoryId" IsForeignKey="true" />\r
+ <Association Name="fk_prod_supp" Member="Supplier" Storage="fkProdSupP" Type="Supplier" ThisKey="SupplierId" OtherKey="SupplierId" IsForeignKey="true" />\r
+ <Association Name="orderdetails_productid_fkey" Member="OrderDetails" Type="OrderDetail" ThisKey="ProductId" OtherKey="ProductId" />\r
+ <Column Name="categoryid" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="integer(32,0)" CanBeNull="true" />\r
+ <Column Name="discontinued" Member="Discontinued" Storage="discontinued" Type="System.Boolean" DbType="bit(1)" CanBeNull="false" />\r
+ <Column Name="productid" Member="ProductId" Storage="productId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('products_productid_seq')" />\r
+ <Column Name="productname" Member="ProductName" Storage="productName" Type="System.String" DbType="character varying(40)" CanBeNull="false" />\r
+ <Column Name="quantityperunit" Member="QuantityPerUnit" Storage="quantityPerUnit" Type="System.String" DbType="character varying(20)" CanBeNull="true" />\r
+ <Column Name="reorderlevel" Member="ReorderLevel" Storage="reorderLevel" Type="System.Int16" DbType="smallint(16,0)" CanBeNull="true" />\r
+ <Column Name="supplierid" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="integer(32,0)" CanBeNull="true" />\r
+ <Column Name="unitprice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="numeric" CanBeNull="true" />\r
+ <Column Name="unitsinstock" Member="UnitsInStock" Storage="unitsInStock" Type="System.Int16" DbType="smallint(16,0)" CanBeNull="true" />\r
+ <Column Name="unitsonorder" Member="UnitsOnOrder" Storage="unitsOnOrder" Type="System.Int16" DbType="smallint(16,0)" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.region" Member="Regions">\r
+ <Type Name="Region">\r
+ <Association Name="fk_terr_region" Member="Territories" Type="Territory" ThisKey="RegionId" OtherKey="RegionId" />\r
+ <Column Name="regiondescription" Member="RegionDescription" Storage="regionDescription" Type="System.String" DbType="character varying(50)" CanBeNull="false" />\r
+ <Column Name="regionid" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('region_regionid_seq')" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.shippers" Member="Shippers">\r
+ <Type Name="Shipper">\r
+ <Column Name="companyname" Member="CompanyName" Storage="companyName" Type="System.String" DbType="character varying(40)" CanBeNull="false" />\r
+ <Column Name="phone" Member="Phone" Storage="phone" Type="System.String" DbType="character varying(24)" CanBeNull="true" />\r
+ <Column Name="shipperid" Member="ShipperId" Storage="shipperId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('shippers_shipperid_seq')" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.suppliers" Member="Suppliers">\r
+ <Type Name="Supplier">\r
+ <Association Name="fk_prod_supp" Member="Products" Type="Product" ThisKey="SupplierId" OtherKey="SupplierId" />\r
+ <Column Name="address" Member="Address" Storage="address" Type="System.String" DbType="character varying(60)" CanBeNull="true" />\r
+ <Column Name="city" Member="City" Storage="city" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="companyname" Member="CompanyName" Storage="companyName" Type="System.String" DbType="character varying(40)" CanBeNull="false" />\r
+ <Column Name="contactname" Member="ContactName" Storage="contactName" Type="System.String" DbType="character varying(30)" CanBeNull="true" />\r
+ <Column Name="contacttitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="character varying(30)" CanBeNull="true" />\r
+ <Column Name="country" Member="Country" Storage="country" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="fax" Member="Fax" Storage="fax" Type="System.String" DbType="character varying(24)" CanBeNull="true" />\r
+ <Column Name="phone" Member="Phone" Storage="phone" Type="System.String" DbType="character varying(24)" CanBeNull="true" />\r
+ <Column Name="postalcode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="character varying(10)" CanBeNull="true" />\r
+ <Column Name="region" Member="Region" Storage="region" Type="System.String" DbType="character varying(15)" CanBeNull="true" />\r
+ <Column Name="supplierid" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="integer(32,0)" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" Expression="nextval('suppliers_supplierid_seq')" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="public.territories" Member="Territories">\r
+ <Type Name="Territory">\r
+ <Association Name="fk_terr_region" Member="Region" Storage="fkTeRrRegion" Type="Region" ThisKey="RegionId" OtherKey="RegionId" IsForeignKey="true" />\r
+ <Association Name="employeeterritories_territoryid_fkey" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="TerritoryId" OtherKey="TerritoryId" />\r
+ <Column Name="regionid" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="integer(32,0)" CanBeNull="false" />\r
+ <Column Name="territorydescription" Member="TerritoryDescription" Storage="territoryDescription" Type="System.String" DbType="character varying(50)" CanBeNull="false" />\r
+ <Column Name="territoryid" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="character varying(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Function Name="getordercount" Method="GetOrderCount">\r
+ <Parameter Name="custid" Type="System.String" DbType="character varying" Direction="In" />\r
+ <Return Type="System.Int32" DbType="integer" />\r
+ </Function>\r
+ <Function Name="hello0" Method="Hello0">\r
+ <Return Type="System.String" DbType="text" />\r
+ </Function>\r
+ <Function Name="hello1" Method="Hello1">\r
+ <Parameter Name="name" Type="System.String" DbType="text" Direction="In" />\r
+ <Return Type="System.String" DbType="text" />\r
+ </Function>\r
+ <Function Name="hello2" Method="Hello2">\r
+ <Parameter Name="name" Type="System.String" DbType="text" Direction="In" />\r
+ <Parameter Name="unused" Type="System.String" DbType="text" Direction="In" />\r
+ <Return Type="System.String" DbType="text" />\r
+ </Function>\r
+</Database>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.Ordinal;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new Npgsql.NpgsqlCommand(sql, (Npgsql.NpgsqlConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new Npgsql.NpgsqlConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.PostgreSql.PgsqlVendor();\r
+ }\r
+ }\r
+}\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
return string.Format("{0} AS {1}", GetTable(table), GetTableAlias(alias));\r
}\r
\r
+ public override SqlStatement GetLiteral(bool literal)\r
+ {\r
+ if (literal)\r
+ return "1";\r
+ return "0";\r
+ }\r
+\r
public override string GetParameterName(string nameBase)\r
{\r
return string.Format("@{0}", nameBase);\r
{\r
throw new NotImplementedException();\r
}\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "System.Data.DLL",\r
- className = "SqlConnection",\r
- };\r
- }\r
}\r
}
\ No newline at end of file
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{A348FBCE-2246-48FF-9862-35553B4B284C}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit_MsSql</RootNamespace>\r
+ <AssemblyName>DbLinq.SqlServer_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MSSQL</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MSSQL</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="nunit.core, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.core.interfaces, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.interfaces.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.Mssql.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DataLoadOptions_Test.cs">\r
+ <Link>Providers\DataLoadOptions_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.SqlServer.csproj">\r
+ <Project>{EA47FE75-0E41-4ABF-B355-9667E78072E9}</Project>\r
+ <Name>DbLinq.SqlServer</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{6661D6CB-8AE4-4CEF-A81E-8A4AFB6A1CEE}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AssemblyName>DbLinq.SqlServer_test_ndb</AssemblyName>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>DEBUG</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyKeyFile>..\..\DbLinq.snk</AssemblyKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>none</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyKeyFile>..\..\DbLinq.snk</AssemblyKeyFile>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="System" />\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\DbLinq\Test\PeopleTable.cs">\r
+ <Link>PeopleTable.cs</Link>\r
+ </Compile>\r
+ <Compile Include="MsSqlDataContextTest.cs" />\r
+ <Compile Include="..\..\DbLinq\Test\NullProvider.cs">\r
+ <SubType>Component</SubType>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DataContextTestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\DbLinq.SqlServer.csproj">\r
+ <Project>{EA47FE75-0E41-4ABF-B355-9667E78072E9}</Project>\r
+ <Name>DbLinq.SqlServer</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{D63B7158-6F23-4B35-9C39-871D37C9BAA6}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit_MsSql</RootNamespace>\r
+ <AssemblyName>DbLinq.SqlServer_test_strict</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MSSQL;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MSSQL;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="nunit.core, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.core.interfaces, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.interfaces.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.Mssql.Example\nwind\originalMSNorthwind.designer.cs">\r
+ <Link>nwind\originalMSNorthwind.designer.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DataLoadOptions_Test.cs">\r
+ <Link>Providers\DataLoadOptions_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Collections;\r
+using System.Collections.Generic;\r
+using System.Collections.ObjectModel;\r
+using System.Linq;\r
+using System.Reflection;\r
+\r
+using DbLinq.Data.Linq;\r
+using DbLinq.Data.Linq.Mapping;\r
+\r
+using DbLinq.Null;\r
+using NUnit.Framework;\r
+\r
+namespace DbLinqTest {\r
+\r
+ [TestFixture]\r
+ public class MsSqlDataContextTest : DataContextTestBase\r
+ {\r
+ static MsSqlDataContextTest()\r
+ {\r
+ // Make sure this assembly has a ref to DbLinq.SqlServer.dll.\r
+ var dummy = new DbLinq.SqlServer.SqlServerSqlProvider();\r
+ }\r
+\r
+ protected override DataContext CreateDataContext()\r
+ {\r
+ return new DataContext (new NullConnection (), new AttributeMappingSource ());\r
+ }\r
+\r
+ protected override string People(string firstName)\r
+ {\r
+ return\r
+ "SELECT [first_name], [last_name]\n" + \r
+ "FROM [people]\n" +\r
+ "WHERE [first_name] = '" + firstName + "'";\r
+ }\r
+\r
+ protected override string People(string firstName, string lastName)\r
+ {\r
+ return People(firstName) + " AND [last_name] = '" + lastName + "'";\r
+ }\r
+ }\r
+}\r
+\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ public const StringComparison stringComparisonType = StringComparison.InvariantCulture;\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new System.Data.SqlClient.SqlCommand(sql, (System.Data.SqlClient.SqlConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new System.Data.SqlClient.SqlConnection(connectionString);\r
+ }\r
+\r
+#if !MONO_STRICT\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.SqlServer.SqlServerVendor();\r
+ }\r
+#endif\r
+ }\r
+}\r
<DebugSymbols>true</DebugSymbols>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
- <OutputPath>bin\Debug\</OutputPath>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
<DefineConstants>DEBUG;TRACE</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Target Name="AfterBuild">\r
</Target>\r
-->\r
-</Project>
\ No newline at end of file
+</Project>\r
}\r
return outParamValues;\r
}\r
-\r
- override protected TypeToLoadData GetProviderTypeName()\r
- {\r
- return new TypeToLoadData\r
- {\r
- assemblyName = "System.Data.SQLite.DLL",\r
- className = "SQLiteConnection",\r
- };\r
- }\r
}\r
}\r
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.Sqlite_test</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;SQLITE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;SQLITE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="nunit.core, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data.SQLite, Version=1.0.49.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\System.Data.SQLite.DLL</HintPath>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.SQLite.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program2SQLite.cs">\r
+ <Link>Providers\Program2SQLite.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="TestBase.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.Sqlite.csproj">\r
+ <Project>{60B9AFA1-99B4-4DE6-80E1-80BBED1AC755}</Project>\r
+ <Name>DbLinq.Sqlite</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{68267FB0-0771-4507-942F-395A1AE556FD}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.Sqlite_test_mono</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;SQLITE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;SQLITE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\Mono.Data.Sqlite.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.core, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.SQLite.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program2SQLite.cs">\r
+ <Link>Providers\Program2SQLite.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="DirectDataContext.cs" />\r
+ <Compile Include="TestBase_mono.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.Sqlite.csproj">\r
+ <Project>{60B9AFA1-99B4-4DE6-80E1-80BBED1AC755}</Project>\r
+ <Name>DbLinq.Sqlite</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbLinq\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{06413209-2415-4541-8033-D5AAFF778A23}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>Test_NUnit</RootNamespace>\r
+ <AssemblyName>DbLinq.Sqlite_test_mono_strict</AssemblyName>\r
+ <StartupObject>\r
+ </StartupObject>\r
+ <FileUpgradeFlags>\r
+ </FileUpgradeFlags>\r
+ <OldToolsVersion>2.0</OldToolsVersion>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <UpgradeBackupLocation>\r
+ </UpgradeBackupLocation>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;SQLITE;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>1</WarningLevel>\r
+ <NoWarn>\r
+ </NoWarn>\r
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;SQLITE;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\Mono.Data.Sqlite.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.core, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Security" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\..\..\examples\DbLinq.SQLite.Example\nwind\Northwind.cs">\r
+ <Link>nwind\Northwind.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\..\lib\DynamicLinq.cs">\r
+ <Link>lib\DynamicLinq.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Attach.cs">\r
+ <Link>Providers\Attach.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\CompositePK_Test.cs">\r
+ <Link>Providers\CompositePK_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\DynamicLinqTest.cs">\r
+ <Link>Providers\DynamicLinqTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteCommand_Test.cs">\r
+ <Link>Providers\ExecuteCommand_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ExecuteQuery_Test.cs">\r
+ <Link>Providers\ExecuteQuery_Test.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Advanced.cs">\r
+ <Link>Providers\Linq_101_Samples\Advanced.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Conversion_Operators.cs">\r
+ <Link>Providers\Linq_101_Samples\Conversion_Operators.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs">\r
+ <Link>Providers\Linq_101_Samples\Count_Sum_Min_Max_Avg.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\ExsistIn_Any_All.cs">\r
+ <Link>Providers\Linq_101_Samples\ExsistIn_Any_All.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\GroupBy_Having.cs">\r
+ <Link>Providers\Linq_101_Samples\GroupBy_Having.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Inheritance.cs">\r
+ <Link>Providers\Linq_101_Samples\Inheritance.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Insert_Update_Delete.cs">\r
+ <Link>Providers\Linq_101_Samples\Insert_Update_Delete.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Join.cs">\r
+ <Link>Providers\Linq_101_Samples\Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs">\r
+ <Link>Providers\Linq_101_Samples\Linq101SamplesModifiedAttribute.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Null.cs">\r
+ <Link>Providers\Linq_101_Samples\Null.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object Loading.cs">\r
+ <Link>Providers\Linq_101_Samples\Object Loading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Object_Identity.cs">\r
+ <Link>Providers\Linq_101_Samples\Object_Identity.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\OrderBy.cs">\r
+ <Link>Providers\Linq_101_Samples\OrderBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Paging.cs">\r
+ <Link>Providers\Linq_101_Samples\Paging.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Select_Distinct.cs">\r
+ <Link>Providers\Linq_101_Samples\Select_Distinct.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\String_Date_functions.cs">\r
+ <Link>Providers\Linq_101_Samples\String_Date_functions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Top_Bottom.cs">\r
+ <Link>Providers\Linq_101_Samples\Top_Bottom.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs">\r
+ <Link>Providers\Linq_101_Samples\UnionAll_Union_Intersect.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Views.cs">\r
+ <Link>Providers\Linq_101_Samples\Views.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\Where.cs">\r
+ <Link>Providers\Linq_101_Samples\Where.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Program2SQLite.cs">\r
+ <Link>Providers\Program2SQLite.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Properties\AssemblyInfo.cs">\r
+ <Link>Providers\Properties\AssemblyInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest.cs">\r
+ <Link>Providers\ReadTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_AnyCountFirst.cs">\r
+ <Link>Providers\ReadTests_AnyCountFirst.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Conversions.cs">\r
+ <Link>Providers\ReadTests_Conversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_DateTimeFunctions.cs">\r
+ <Link>Providers\ReadTests_DateTimeFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_EntitySet.cs">\r
+ <Link>Providers\ReadTests_EntitySet.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Join.cs">\r
+ <Link>Providers\ReadTests_Join.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_Maths.cs">\r
+ <Link>Providers\ReadTests_Maths.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_ReferenceLoading.cs">\r
+ <Link>Providers\ReadTests_ReferenceLoading.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTests_StringFunctions.cs">\r
+ <Link>Providers\ReadTests_StringFunctions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Complex.cs">\r
+ <Link>Providers\ReadTest_Complex.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_GroupBy.cs">\r
+ <Link>Providers\ReadTest_GroupBy.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Operands.cs">\r
+ <Link>Providers\ReadTest_Operands.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\ReadTest_Subquery.cs">\r
+ <Link>Providers\ReadTest_Subquery.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\StoredProcTest.cs">\r
+ <Link>Providers\StoredProcTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Table.cs">\r
+ <Link>Providers\Table.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\TestBase.cs">\r
+ <Link>Providers\TestBase.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\Transactions.cs">\r
+ <Link>Providers\Transactions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\VerticalPartitioningTest.cs">\r
+ <Link>Providers\VerticalPartitioningTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest.cs">\r
+ <Link>Providers\WriteTest.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\..\DbLinq\Test\Providers\WriteTest_BulkInsert.cs">\r
+ <Link>Providers\WriteTest_BulkInsert.cs</Link>\r
+ </Compile>\r
+ <Compile Include="DirectDataContext.cs" />\r
+ <Compile Include="TestBase_mono.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq\Test\Providers\Linq_101_Samples\101_readme.htm">\r
+ <Link>Providers\Linq_101_Samples\101_readme.htm</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+</Project>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Linq;\r
+\r
+using Mono.Data.Sqlite;\r
+\r
+using nwind;\r
+\r
+#if MONO_STRICT\r
+using System.Data.Linq;\r
+#else\r
+using DbLinq.Data.Linq;\r
+#endif\r
+\r
+using NUnit.Framework;\r
+\r
+namespace Test_NUnit_Sqlite\r
+{\r
+ [TestFixture]\r
+ public class DirectDataContextTest\r
+ {\r
+ [Test]\r
+ public void CreateDataContext()\r
+ {\r
+ string connectionString = "DbLinqProvider=Sqlite;" + \r
+ "DbLinqConnectionType=Mono.Data.Sqlite.SqliteConnection, Mono.Data.Sqlite;" + \r
+ "Data Source=Northwind.db3";\r
+ var dc = new DataContext(connectionString);\r
+ Assert.AreEqual(typeof(SqliteConnection), dc.Connection.GetType());\r
+\r
+ var dcq = from p in dc.GetTable<Product>() where p.ProductName == "Pen" select p.ProductID;\r
+ var cmd = dc.GetCommand(dcq);\r
+ var dcc = dcq.ToList().Count;\r
+ Assert.AreEqual(dcc, 1);\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>\r
+<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Northwind" Class="Northwind" Provider="Sqlite" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">\r
+ <Table Name="main.Categories" Member="Categories">\r
+ <Type Name="Category">\r
+ <Column Name="CategoryID" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="CategoryName" Member="CategoryName" Storage="categoryName" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="Description" Member="Description" Storage="description" Type="System.String" DbType="TEXT" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Picture" Member="Picture" Storage="picture" Type="System.Byte[]" DbType="BLOB" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Customers" Member="Customers">\r
+ <Type Name="Customer">\r
+ <Association Name="fk_Orders_1" Member="Orders" Type="Order" ThisKey="CustomerId" OtherKey="CustomerId" />\r
+ <Column Name="Address" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="City" Member="City" Storage="city" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="CompanyName" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="ContactName" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ContactTitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Country" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="CustomerID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR(5)" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="Fax" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Phone" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="PostalCode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Region" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Employees" Member="Employees">\r
+ <Type Name="Employee">\r
+ <Association Name="fk_EmployeeTerritories_1" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Association Name="fk_Employees_0" Member="ParentEmployee" Storage="fkEmployees0" Type="Employee" ThisKey="ReportsTo" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="fk_Employees_0" Member="Employees" Type="Employee" ThisKey="EmployeeId" OtherKey="ReportsTo" />\r
+ <Association Name="fk_Orders_0" Member="Orders" Type="Order" ThisKey="EmployeeId" OtherKey="EmployeeId" />\r
+ <Column Name="Address" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="BirthDate" Member="BirthDate" Storage="birthDate" Type="System.DateTime" DbType="DATETIME" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="City" Member="City" Storage="city" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Country" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="EmployeeID" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="FirstName" Member="FirstName" Storage="firstName" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="HireDate" Member="HireDate" Storage="hireDate" Type="System.DateTime" DbType="DATETIME" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="HomePhone" Member="HomePhone" Storage="homePhone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="LastName" Member="LastName" Storage="lastName" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="Notes" Member="Notes" Storage="notes" Type="System.String" DbType="TEXT" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Photo" Member="Photo" Storage="photo" Type="System.Byte[]" DbType="BLOB" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="PostalCode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Region" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ReportsTo" Member="ReportsTo" Storage="reportsTo" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Title" Member="Title" Storage="title" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.EmployeeTerritories" Member="EmployeeTerritories">\r
+ <Type Name="EmployeeTerritory">\r
+ <Association Name="fk_EmployeeTerritories_0" Member="Territory" Storage="fkEmployeeTerritories0" Type="Territory" ThisKey="TerritoryId" OtherKey="TerritoryId" IsForeignKey="true" />\r
+ <Association Name="fk_EmployeeTerritories_1" Member="Employee" Storage="fkEmployeeTerritories1" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Column Name="EmployeeID" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="TerritoryID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Orders" Member="Orders">\r
+ <Type Name="Order">\r
+ <Association Name="fk_Order Details_1" Member="OrderDetails" Type="OrderDetail" ThisKey="OrderId" OtherKey="OrderId" />\r
+ <Association Name="fk_Orders_0" Member="Employee" Storage="fkOrders0" Type="Employee" ThisKey="EmployeeId" OtherKey="EmployeeId" IsForeignKey="true" />\r
+ <Association Name="fk_Orders_1" Member="Customer" Storage="fkOrders1" Type="Customer" ThisKey="CustomerId" OtherKey="CustomerId" IsForeignKey="true" />\r
+ <Column Name="CustomerID" Member="CustomerId" Storage="customerId" Type="System.String" DbType="VARCHAR(5)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="EmployeeID" Member="EmployeeId" Storage="employeeId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Freight" Member="Freight" Storage="freight" Type="System.Decimal" DbType="DECIMAL" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="OrderDate" Member="OrderDate" Storage="orderDate" Type="System.DateTime" DbType="DATETIME" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="OrderID" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="RequiredDate" Member="RequiredDate" Storage="requiredDate" Type="System.DateTime" DbType="DATETIME" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipAddress" Member="ShipAddress" Storage="shipAddress" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipCity" Member="ShipCity" Storage="shipCity" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipCountry" Member="ShipCountry" Storage="shipCountry" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipName" Member="ShipName" Storage="shipName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShippedDate" Member="ShippedDate" Storage="shippedDate" Type="System.DateTime" DbType="DATETIME" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipPostalCode" Member="ShipPostalCode" Storage="shipPostalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipRegion" Member="ShipRegion" Storage="shipRegion" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipVia" Member="ShipVia" Storage="shipVia" Type="System.Int32" DbType="INT" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Order Details" Member="OrderDetails">\r
+ <Type Name="OrderDetail">\r
+ <Association Name="fk_Order Details_0" Member="Product" Storage="fkOrderDetails0" Type="Product" ThisKey="ProductId" OtherKey="ProductId" IsForeignKey="true" />\r
+ <Association Name="fk_Order Details_1" Member="Order" Storage="fkOrderDetails1" Type="Order" ThisKey="OrderId" OtherKey="OrderId" IsForeignKey="true" />\r
+ <Column Name="Discount" Member="Discount" Storage="discount" Type="System.Single" DbType="FLOAT" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="OrderID" Member="OrderId" Storage="orderId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="ProductID" Member="ProductId" Storage="productId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="Quantity" Member="Quantity" Storage="quantity" Type="System.Int16" DbType="SMALLINT" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="UnitPrice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="DECIMAL" IsPrimaryKey="false" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Products" Member="Products">\r
+ <Type Name="Product">\r
+ <Association Name="fk_Order Details_0" Member="OrderDetails" Type="OrderDetail" ThisKey="ProductId" OtherKey="ProductId" />\r
+ <Association Name="fk_Products_0" Member="Supplier" Storage="fkProducts0" Type="Supplier" ThisKey="SupplierId" OtherKey="SupplierId" IsForeignKey="true" />\r
+ <Column Name="CategoryID" Member="CategoryId" Storage="categoryId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Discontinued" Member="Discontinued" Storage="discontinued" Type="System.Boolean" DbType="BIT" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="ProductID" Member="ProductId" Storage="productId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ <Column Name="ProductName" Member="ProductName" Storage="productName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="QuantityPerUnit" Member="QuantityPerUnit" Storage="quantityPerUnit" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ReorderLevel" Member="ReorderLevel" Storage="reorderLevel" Type="System.Int16" DbType="SMALLINT" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="SupplierID" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="UnitPrice" Member="UnitPrice" Storage="unitPrice" Type="System.Decimal" DbType="DECIMAL" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="UnitsInStock" Member="UnitsInStock" Storage="unitsInStock" Type="System.Int16" DbType="SMALLINT" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="UnitsOnOrder" Member="UnitsOnOrder" Storage="unitsOnOrder" Type="System.Int16" DbType="SMALLINT" IsPrimaryKey="false" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Regions" Member="Regions">\r
+ <Type Name="Region">\r
+ <Association Name="fk_Territories_0" Member="Territories" Type="Territory" ThisKey="RegionId" OtherKey="RegionId" />\r
+ <Column Name="RegionDescription" Member="RegionDescription" Storage="regionDescription" Type="System.String" DbType="VARCHAR(50)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="RegionID" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Shippers" Member="Shippers">\r
+ <Type Name="Shipper">\r
+ <Column Name="CompanyName" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="Phone" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ShipperID" Member="ShipperId" Storage="shipperId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Suppliers" Member="Suppliers">\r
+ <Type Name="Supplier">\r
+ <Association Name="fk_Products_0" Member="Products" Type="Product" ThisKey="SupplierId" OtherKey="SupplierId" />\r
+ <Column Name="Address" Member="Address" Storage="address" Type="System.String" DbType="VARCHAR(60)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="City" Member="City" Storage="city" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="CompanyName" Member="CompanyName" Storage="companyName" Type="System.String" DbType="VARCHAR(40)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="ContactName" Member="ContactName" Storage="contactName" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="ContactTitle" Member="ContactTitle" Storage="contactTitle" Type="System.String" DbType="VARCHAR(30)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Country" Member="Country" Storage="country" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Fax" Member="Fax" Storage="fax" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Phone" Member="Phone" Storage="phone" Type="System.String" DbType="VARCHAR(24)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="PostalCode" Member="PostalCode" Storage="postalCode" Type="System.String" DbType="VARCHAR(10)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="Region" Member="Region" Storage="region" Type="System.String" DbType="VARCHAR(15)" IsPrimaryKey="false" CanBeNull="true" />\r
+ <Column Name="SupplierID" Member="SupplierId" Storage="supplierId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="true" CanBeNull="false" />\r
+ </Type>\r
+ </Table>\r
+ <Table Name="main.Territories" Member="Territories">\r
+ <Type Name="Territory">\r
+ <Association Name="fk_EmployeeTerritories_0" Member="EmployeeTerritories" Type="EmployeeTerritory" ThisKey="TerritoryId" OtherKey="TerritoryId" />\r
+ <Association Name="fk_Territories_0" Member="Region" Storage="fkTerritories0" Type="Region" ThisKey="RegionId" OtherKey="RegionId" IsForeignKey="true" />\r
+ <Column Name="RegionID" Member="RegionId" Storage="regionId" Type="System.Int32" DbType="INTEGER" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="TerritoryDescription" Member="TerritoryDescription" Storage="territoryDescription" Type="System.String" DbType="VARCHAR(50)" IsPrimaryKey="false" CanBeNull="false" />\r
+ <Column Name="TerritoryID" Member="TerritoryId" Storage="territoryId" Type="System.String" DbType="VARCHAR(20)" IsPrimaryKey="true" CanBeNull="true" />\r
+ </Type>\r
+ </Table>\r
+</Database>
\ No newline at end of file
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+using System.Data.SQLite;\r
+using System.IO;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ static bool doRecreate = true;\r
+ public const StringComparison stringComparisonType = StringComparison.InvariantCulture;\r
+\r
+ static partial void CheckRecreateSqlite ()\r
+ {\r
+ if (doRecreate) {\r
+ File.Copy ("../src/Northwind.db3", "Northwind.db3", true);\r
+ doRecreate = false;\r
+ }\r
+ }\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new SQLiteCommand(sql, (SQLiteConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new SQLiteConnection(connectionString);\r
+ }\r
+\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.Sqlite.SqliteVendor();\r
+ }\r
+ }\r
+}\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne, Pascal Craponne\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+using Mono.Data.Sqlite;\r
+using System.IO;\r
+\r
+namespace Test_NUnit\r
+{\r
+ public abstract partial class TestBase\r
+ {\r
+ static bool doRecreate = true;\r
+ public const StringComparison stringComparisonType = StringComparison.InvariantCulture;\r
+\r
+ static partial void CheckRecreateSqlite ()\r
+ {\r
+ if (doRecreate) {\r
+ File.Copy ("../src/Northwind.db3", "Northwind.db3", true);\r
+ doRecreate = false;\r
+ }\r
+ }\r
+\r
+ public static IDbCommand CreateCommand (string sql, IDbConnection conn)\r
+ {\r
+ return new SqliteCommand(sql, (SqliteConnection) conn);\r
+ }\r
+\r
+ public static IDbConnection CreateConnection (string connectionString)\r
+ {\r
+ return new SqliteConnection(connectionString);\r
+ }\r
+\r
+#if !MONO_STRICT\r
+ public DbLinq.Vendor.IVendor CreateVendor()\r
+ {\r
+ return new DbLinq.Sqlite.SqliteVendor();\r
+ }\r
+#endif\r
+ }\r
+}\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Mssql.Example", "..\examples\DbLinq.Mssql.Example\DbLinq.Mssql.Example.csproj", "{91F0C291-3E1C-4058-A52D-A780CFE92183}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinqTest", "..\tests\DbLinqTest\DbLinqTest.csproj", "{9F424D05-5F16-4C01-8C17-14EF22FF2174}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinqTest", "DbLinq\Test\DbLinqTest.csproj", "{9F424D05-5F16-4C01-8C17-14EF22FF2174}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Ingres", "..\tests\Test_NUnit\Test_NUnit_Ingres.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Ingres_test", "DbLinq.Ingres\Test\DbLinq.Ingres_test.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_MsSql", "..\tests\Test_NUnit\Test_NUnit_MsSql.csproj", "{A348FBCE-2246-48FF-9862-35553B4B284C}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.SqlServer_test", "DbLinq.SqlServer\Test\DbLinq.SqlServer_test.csproj", "{A348FBCE-2246-48FF-9862-35553B4B284C}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_MsSql_Strict", "..\tests\Test_NUnit\Test_NUnit_MsSql_Strict.csproj", "{D63B7158-6F23-4B35-9C39-871D37C9BAA6}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.SqlServer_test_strict", "DbLinq.SqlServer\Test\DbLinq.SqlServer_test_strict.csproj", "{D63B7158-6F23-4B35-9C39-871D37C9BAA6}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Mysql", "..\tests\Test_NUnit\Test_NUnit_Mysql.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE4DB7CE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.MySql_test", "DbLinq.MySql\Test\DbLinq.MySql_test.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE4DB7CE}"\r
EndProject\r
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test_NUnit_Mysql_VB", "..\tests\Test_NUnit\Test_NUnit_Mysql_VB.vbproj", "{E6E31FB6-1559-44E1-AFA2-C11981A591FC}"\r
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DbLinq.MySql_test_vb", "DbLinq.MySql\DbLinq.MySql_test_vb.vbproj", "{E6E31FB6-1559-44E1-AFA2-C11981A591FC}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Ora", "..\tests\Test_NUnit\Test_NUnit_Ora.csproj", "{858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Oracle_test", "DbLinq.Oracle\Test\DbLinq.Oracle_test.csproj", "{858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_OraODP", "..\tests\Test_NUnit\Test_NUnit_OraODP.csproj", "{858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Oracle_test_odp", "DbLinq.Oracle\Test\DbLinq.Oracle_test_odp.csproj", "{858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Pgsql", "..\tests\Test_NUnit\Test_NUnit_Pgsql.csproj", "{858BAFF7-542F-4DBB-940B-57333E4DB7CE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.PostgreSql_test", "DbLinq.PostgreSql\Test\DbLinq.PostgreSql_test.csproj", "{858BAFF7-542F-4DBB-940B-57333E4DB7CE}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_SQLite", "..\tests\Test_NUnit\Test_NUnit_SQLite.csproj", "{3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Sqlite_test", "DbLinq.Sqlite\Test\DbLinq.Sqlite_test.csproj", "{3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}"\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Firebird", "DbLinq.Firebird\DbLinq.Firebird.csproj", "{E1AB58E4-357E-4031-90F3-6AABA9623047}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Firebird", "..\tests\Test_NUnit\Test_NUnit_Firebird.csproj", "{6BC45425-283A-4D51-881A-D1E14A699D57}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Firebird_test", "DbLinq.Firebird\Test\DbLinq.Firebird_test.csproj", "{6BC45425-283A-4D51-881A-D1E14A699D57}"\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.FbSql.Example", "..\examples\DbLinq.FbSql.Example\DbLinq.FbSql.Example.csproj", "{EC942173-F034-47D3-9659-CD55BCCA2F89}"\r
EndProject\r
\r
public DataContext(IDbConnection connection)\r
{\r
+ if (connection == null)\r
+ throw new ArgumentNullException("connection");\r
+\r
Init(new DatabaseContext(connection), null, null);\r
}\r
\r
[DbLinqToDo]\r
public DataContext(string connectionString)\r
{\r
- #region DataContext connectionString ctor\r
+ IVendor ivendor = GetVendor(connectionString);\r
+\r
+ IDbConnection dbConnection = ivendor.CreateDbConnection(connectionString);\r
+ Init(new DatabaseContext(dbConnection), null, ivendor);\r
+\r
+ }\r
+\r
+ private IVendor GetVendor(string connectionString)\r
+ {\r
if (connectionString == null)\r
throw new ArgumentNullException("connectionString");\r
\r
+ Assembly assy;\r
+ string vendorClassToLoad;\r
+ GetVendorInfo(connectionString, out assy, out vendorClassToLoad);\r
+\r
+ var types =\r
+ from type in assy.GetTypes()\r
+ where type.Name.ToLowerInvariant() == vendorClassToLoad.ToLowerInvariant() &&\r
+ type.GetInterfaces().Contains(typeof(IVendor)) &&\r
+ type.GetConstructor(Type.EmptyTypes) != null\r
+ select type;\r
+ if (!types.Any())\r
+ {\r
+ throw new ArgumentException(string.Format("Found no IVendor class in assembly `{0}' named `{1}' having a default constructor.",\r
+ assy.GetName().Name, vendorClassToLoad));\r
+ }\r
+ else if (types.Count() > 1)\r
+ {\r
+ throw new ArgumentException(string.Format("Found too many IVendor classes in assembly `{0}' named `{1}' having a default constructor.",\r
+ assy.GetName().Name, vendorClassToLoad));\r
+ }\r
+ return (IVendor) Activator.CreateInstance(types.First());\r
+ }\r
+\r
+ private void GetVendorInfo(string connectionString, out Assembly assembly, out string typeName)\r
+ {\r
System.Text.RegularExpressions.Regex reProvider\r
= new System.Text.RegularExpressions.Regex(@"DbLinqProvider=([\w\.]+)");\r
\r
- int startPos = connectionString.IndexOf("DbLinqProvider=");\r
- string assemblyToLoad;\r
- string vendorClassToLoad;\r
+ string assemblyFile = null;\r
+ string vendor;\r
if (!reProvider.IsMatch(connectionString))\r
{\r
- assemblyToLoad = "DbLinq.SqlServer.dll";\r
- vendorClassToLoad = "SqlServerVendor";\r
+ vendor = "SqlServer";\r
+ assemblyFile = "DbLinq.SqlServer.dll";\r
}\r
else\r
{\r
- System.Text.RegularExpressions.Match match = reProvider.Match(connectionString);\r
-#if MONO_STRICT\r
- //Pascal says on the forum: \r
- //[in MONO] "all vendors are (will be) embedded in the System.Data.Linq assembly"\r
- assemblyToLoad = "System.Data.Linq.dll";\r
- vendorClassToLoad = match.Groups[1].Value; //eg. "MySql"\r
-#else\r
+ var match = reProvider.Match(connectionString);\r
+ vendor = match.Groups[1].Value;\r
+ assemblyFile = "DbLinq." + vendor + ".dll";\r
+\r
//plain DbLinq - non MONO: \r
//IVendor classes are in DLLs such as "DbLinq.MySql.dll"\r
- assemblyToLoad = match.Groups[1].Value; //eg. assemblyToLoad="DbLinq.MySql.dll"\r
- if (assemblyToLoad.Contains("."))\r
+ if (vendor.Contains("."))\r
{\r
//already fully qualified DLL name?\r
- throw new ArgumentException("Please provide a short name, such as 'MySql', not '" + assemblyToLoad + "'");\r
- }\r
- else\r
- {\r
- //we were given short name, such as MySql\r
- vendorClassToLoad = assemblyToLoad + "Vendor"; //eg. MySqlVendor\r
- assemblyToLoad = "DbLinq." + assemblyToLoad + ".dll"; //eg. DbLinq.MySql.dll\r
+ throw new ArgumentException("Please provide a short name, such as 'MySql', not '" + vendor + "'");\r
}\r
-#endif\r
+\r
//shorten: "DbLinqProvider=X;Server=Y" -> ";Server=Y"\r
- string shortenedConnStr = reProvider.Replace(connectionString, "");\r
- connectionString = shortenedConnStr;\r
+ connectionString = reProvider.Replace(connectionString, "");\r
}\r
\r
- Assembly assy;\r
+ typeName = vendor + "Vendor";\r
+\r
try\r
{\r
#if MONO_STRICT\r
- assy = typeof (DataContext).Assembly; // System.Data.Linq.dll\r
+ assembly = typeof (DataContext).Assembly; // System.Data.Linq.dll\r
#else\r
//TODO: check if DLL is already loaded?\r
- assy = Assembly.LoadFrom(assemblyToLoad);\r
+ assembly = Assembly.LoadFrom(assemblyFile);\r
#endif\r
}\r
- catch (Exception ex)\r
- {\r
- //TODO: add proper logging here\r
- Console.WriteLine("DataContext ctor: Assembly load failed for " + assemblyToLoad + ": " + ex);\r
- throw ex;\r
- }\r
-\r
- //find IDbProvider class in this assembly:\r
- var ctors = (from mod in assy.GetModules()\r
- from cls in mod.GetTypes()\r
- where cls.GetInterfaces().Contains(typeof(IVendor))\r
- && cls.Name.ToLower() == vendorClassToLoad.ToLower()\r
- let ctorInfo = cls.GetConstructor(Type.EmptyTypes)\r
- where ctorInfo != null\r
- select ctorInfo).ToList();\r
- if (ctors.Count == 0)\r
- {\r
- string msg = "Found no IVendor class in assembly " + assemblyToLoad + " having a string ctor";\r
- throw new ArgumentException(msg);\r
- }\r
- else if (ctors.Count > 1)\r
- {\r
- string msg = "Found more than one IVendor class in assembly " + assemblyToLoad + " having a string ctor";\r
- throw new ArgumentException(msg);\r
- }\r
- ConstructorInfo ctorInfo2 = ctors[0];\r
-\r
- object ivendorObject;\r
- try\r
- {\r
- ivendorObject = ctorInfo2.Invoke(new object[]{});\r
- }\r
- catch (Exception ex)\r
+ catch (Exception e)\r
{\r
- //TODO: add proper logging here\r
- Console.WriteLine("DataContext ctor: Failed to invoke IVendor ctor " + ctorInfo2.Name + ": " + ex);\r
- throw ex;\r
+ throw new ArgumentException(\r
+ string.Format(\r
+ "Unable to load the `{0}' DbLinq vendor within assembly `{1}'.",\r
+ assemblyFile, vendor),\r
+ "connectionString", e);\r
}\r
- IVendor ivendor = (IVendor)ivendorObject;\r
- IDbConnection dbConnection = ivendor.CreateDbConnection(connectionString);\r
- Init(new DatabaseContext(dbConnection), null, ivendor);\r
- #endregion\r
}\r
\r
private void Init(IDatabaseContext databaseContext, MappingSource mappingSource, IVendor vendor)\r
if (databaseContext == null)\r
throw new ArgumentNullException("databaseContext");\r
\r
+ // Yes, .NET throws an NRE for this. Why it's not ArgumentNullException, I couldn't tell you.\r
+ if (databaseContext.Connection.ConnectionString == null)\r
+ throw new NullReferenceException();\r
+\r
_VendorProvider = ObjectFactory.Get<IVendorProvider>();\r
- if (vendor == null)\r
- Vendor = _VendorProvider.FindVendorByProviderType(typeof(SqlClient.Sql2005Provider));\r
- else\r
- Vendor = vendor;\r
+ Vendor = vendor ?? \r
+ (databaseContext.Connection.ConnectionString != null\r
+ ? GetVendor(databaseContext.Connection.ConnectionString)\r
+ : null) ??\r
+ _VendorProvider.FindVendorByProviderType(typeof(SqlClient.Sql2005Provider));\r
\r
DatabaseContext = databaseContext;\r
\r
/// </summary>\r
public IEnumerable<TResult> ExecuteQuery<TResult>(string query, params object[] parameters) where TResult : class, new()\r
{\r
- //GetTable<TResult>();\r
+ if (query == null)\r
+ throw new ArgumentNullException("query");\r
+\r
+ return CreateExecuteQueryEnumerable<TResult>(query, parameters);\r
+ }\r
+\r
+ private IEnumerable<TResult> CreateExecuteQueryEnumerable<TResult>(string query, object[] parameters)\r
+ where TResult : class, new()\r
+ {\r
foreach (TResult result in ExecuteQuery(typeof(TResult), query, parameters))\r
yield return result;\r
}\r
\r
public IEnumerable ExecuteQuery(Type elementType, string query, params object[] parameters)\r
{\r
+ Console.WriteLine("# ExecuteQuery: query={0}", query != null ? query : "<null>");\r
+ if (elementType == null)\r
+ throw new ArgumentNullException("elementType");\r
+ if (query == null)\r
+ throw new ArgumentNullException("query");\r
+\r
var queryContext = new QueryContext(this);\r
var directQuery = QueryBuilder.GetDirectQuery(query, queryContext);\r
return QueryRunner.ExecuteSelect(elementType, directQuery, parameters);\r
[DbLinqToDo]\r
public DbCommand GetCommand(IQueryable query)\r
{\r
+ if (query == null)\r
+ throw new ArgumentNullException("query");\r
+\r
var qp = query.Provider as QueryProvider;\r
if (qp == null)\r
throw new InvalidOperationException();\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Stefan Klinger
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.ObjectModel;
-using System.Data.Linq.Mapping;
-using System.Linq;
-using System.Reflection;
-using DbLinq.Util;
-using System.Collections.Generic;
-
-#if MONO_STRICT
-namespace System.Data.Linq.Mapping
-#else
-namespace DbLinq.Data.Linq.Mapping
-#endif
-{
- internal class AttributedMetaAssociation : MetaAssociation
- {
- //Seperator used for key lists
- private static readonly char[] STRING_SEPERATOR = new[] { ',' };
-
- public AttributedMetaAssociation(MemberInfo member, AssociationAttribute attribute, MetaDataMember metaDataMember)
- {
- _memberInfo = member;
- _associationAttribute = attribute;
- _thisMember = metaDataMember;
- _otherMember = metaDataMember; // see https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=376669
-
- SetupRelationship();
- }
-
- /// <summary>
- /// This function sets up the relationship information based on the attribute <see cref="AttributedMetaModel"/>.
- /// </summary>
- private void SetupRelationship()
- {
- //Get the association target type
- Type targetType = _memberInfo.GetFirstInnerReturnType();
-
- var metaModel = ThisMember.DeclaringType.Model as AttributedMetaModel;
- if (metaModel == null)
- {
- throw new InvalidOperationException("Internal Error: MetaModel is not a AttributedMetaModel");
- }
-
- MetaTable otherTable = metaModel.GetTable(targetType);
-
- //Setup "this key"
- _thisKey = GetKeys(_associationAttribute.ThisKey, ThisMember.DeclaringType);
-
- //Setup other key
- _otherKeys = GetKeys(_associationAttribute.OtherKey, otherTable.RowType);
- }
-
- /// <summary>
- /// Returns a list of keys from the given meta type based on the key list string.
- /// </summary>
- /// <param name="keyListString">The key list string.</param>
- /// <param name="parentType">Type of the parent.</param>
- /// <returns></returns>
- private static ReadOnlyCollection<MetaDataMember> GetKeys(string keyListString, MetaType parentType)
- {
- if(keyListString != null)
- {
- var thisKeyList = new List<MetaDataMember>();
-
- string[] keyNames = keyListString.Split(STRING_SEPERATOR, StringSplitOptions.RemoveEmptyEntries);
-
- foreach (string rawKeyName in keyNames)
- {
- string keyName = rawKeyName.Trim();
-
- //TODO: maybe speed the lookup up
- MetaDataMember key = (from dataMember in parentType.PersistentDataMembers
- where dataMember.Name == keyName
- select dataMember).SingleOrDefault();
-
- if(key == null)
- {
- string errorMessage = string.Format("Could not find key member '{0}' of key '{1}' on type '{2}'. The key may be wrong or the field or property on '{2}' has changed names.",
- keyName, keyListString, parentType.Type.Name);
-
- throw new InvalidOperationException(errorMessage);
- }
-
- thisKeyList.Add(key);
- }
-
- return new ReadOnlyCollection<MetaDataMember>(thisKeyList);
- }
- else //Key is the primary key of this table
- {
- return parentType.IdentityMembers;
- }
- }
-
- private AssociationAttribute _associationAttribute;
- private MemberInfo _memberInfo;
-
- public override bool DeleteOnNull
- {
- get { return _associationAttribute.DeleteOnNull; }
- }
-
- public override string DeleteRule
- {
- get { return _associationAttribute.DeleteRule; }
- }
-
- public override bool IsForeignKey
- {
- get { return _associationAttribute.IsForeignKey; }
- }
-
- public override bool IsMany
- {
- get
- {
- throw new System.NotImplementedException();
- }
- }
-
- public override bool IsNullable
- {
- get { return _memberInfo.GetMemberType().CanBeNull(); }
- }
-
- public override bool IsUnique
- {
- get { return _associationAttribute.IsUnique; }
- }
-
- private ReadOnlyCollection<MetaDataMember> _otherKeys;
- public override ReadOnlyCollection<MetaDataMember> OtherKey
- {
- get { return _otherKeys; }
- }
-
- public override bool OtherKeyIsPrimaryKey
- {
- get
- {
- foreach (var otherKey in OtherKey)
- {
- if (!otherKey.IsPrimaryKey)
- return false;
- }
- return true;
- }
- }
-
- private MetaDataMember _otherMember;
- public override MetaDataMember OtherMember
- {
- get { return _otherMember; }
- }
-
- public override MetaType OtherType
- {
- get { return _otherMember.DeclaringType; }
- }
-
- private ReadOnlyCollection<MetaDataMember> _thisKey;
- public override ReadOnlyCollection<MetaDataMember> ThisKey
- {
- get { return _thisKey; }
- }
-
- public override bool ThisKeyIsPrimaryKey
- {
- get
- {
- foreach (var thisKey in _thisKey)
- {
- if (!thisKey.IsPrimaryKey)
- return false;
- }
- return true;
- }
- }
-
- private MetaDataMember _thisMember;
- public override MetaDataMember ThisMember
- {
- get { return _thisMember; }
- }
- }
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Stefan Klinger\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Collections.ObjectModel;\r
+using System.Data.Linq.Mapping;\r
+using System.Linq;\r
+using System.Reflection;\r
+using DbLinq.Util;\r
+using System.Collections.Generic;\r
+\r
+#if MONO_STRICT\r
+namespace System.Data.Linq.Mapping\r
+#else\r
+namespace DbLinq.Data.Linq.Mapping\r
+#endif\r
+{\r
+ internal class AttributedMetaAssociation : MetaAssociation\r
+ {\r
+ //Seperator used for key lists\r
+ private static readonly char[] STRING_SEPERATOR = new[] { ',' };\r
+\r
+ public AttributedMetaAssociation(MemberInfo member, AssociationAttribute attribute, MetaDataMember metaDataMember)\r
+ {\r
+ _memberInfo = member;\r
+ _associationAttribute = attribute;\r
+ _thisMember = metaDataMember;\r
+ _otherMember = metaDataMember; // see https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=376669\r
+\r
+ SetupRelationship();\r
+ }\r
+\r
+ /// <summary>\r
+ /// This function sets up the relationship information based on the attribute <see cref="AttributedMetaModel"/>.\r
+ /// </summary>\r
+ private void SetupRelationship()\r
+ {\r
+ //Get the association target type\r
+ Type targetType = _memberInfo.GetFirstInnerReturnType();\r
+\r
+ var metaModel = ThisMember.DeclaringType.Model as AttributedMetaModel;\r
+ if (metaModel == null)\r
+ {\r
+ throw new InvalidOperationException("Internal Error: MetaModel is not a AttributedMetaModel");\r
+ }\r
+\r
+ MetaTable otherTable = metaModel.GetTable(targetType);\r
+\r
+ //Setup "this key"\r
+ _thisKey = GetKeys(_associationAttribute.ThisKey, ThisMember.DeclaringType);\r
+\r
+ //Setup other key\r
+ _otherKeys = GetKeys(_associationAttribute.OtherKey, otherTable.RowType);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Returns a list of keys from the given meta type based on the key list string.\r
+ /// </summary>\r
+ /// <param name="keyListString">The key list string.</param>\r
+ /// <param name="parentType">Type of the parent.</param>\r
+ /// <returns></returns>\r
+ private static ReadOnlyCollection<MetaDataMember> GetKeys(string keyListString, MetaType parentType)\r
+ {\r
+ if(keyListString != null)\r
+ {\r
+ var thisKeyList = new List<MetaDataMember>();\r
+\r
+ string[] keyNames = keyListString.Split(STRING_SEPERATOR, StringSplitOptions.RemoveEmptyEntries);\r
+\r
+ foreach (string rawKeyName in keyNames)\r
+ {\r
+ string keyName = rawKeyName.Trim();\r
+\r
+ //TODO: maybe speed the lookup up\r
+ MetaDataMember key = (from dataMember in parentType.PersistentDataMembers\r
+ where dataMember.Name == keyName\r
+ select dataMember).SingleOrDefault();\r
+\r
+ if(key == null)\r
+ {\r
+ string errorMessage = string.Format("Could not find key member '{0}' of key '{1}' on type '{2}'. The key may be wrong or the field or property on '{2}' has changed names.",\r
+ keyName, keyListString, parentType.Type.Name);\r
+\r
+ throw new InvalidOperationException(errorMessage);\r
+ }\r
+\r
+ thisKeyList.Add(key);\r
+ }\r
+\r
+ return new ReadOnlyCollection<MetaDataMember>(thisKeyList);\r
+ }\r
+ else //Key is the primary key of this table\r
+ {\r
+ return parentType.IdentityMembers;\r
+ }\r
+ }\r
+\r
+ private AssociationAttribute _associationAttribute;\r
+ private MemberInfo _memberInfo;\r
+\r
+ public override bool DeleteOnNull\r
+ {\r
+ get { return _associationAttribute.DeleteOnNull; }\r
+ }\r
+\r
+ public override string DeleteRule\r
+ {\r
+ get { return _associationAttribute.DeleteRule; }\r
+ }\r
+\r
+ public override bool IsForeignKey\r
+ {\r
+ get { return _associationAttribute.IsForeignKey; }\r
+ }\r
+\r
+ public override bool IsMany\r
+ {\r
+ get\r
+ {\r
+ throw new System.NotImplementedException();\r
+ }\r
+ }\r
+\r
+ public override bool IsNullable\r
+ {\r
+ get { return _memberInfo.GetMemberType().CanBeNull(); }\r
+ }\r
+\r
+ public override bool IsUnique\r
+ {\r
+ get { return _associationAttribute.IsUnique; }\r
+ }\r
+\r
+ private ReadOnlyCollection<MetaDataMember> _otherKeys;\r
+ public override ReadOnlyCollection<MetaDataMember> OtherKey\r
+ {\r
+ get { return _otherKeys; }\r
+ }\r
+\r
+ public override bool OtherKeyIsPrimaryKey\r
+ {\r
+ get\r
+ {\r
+ foreach (var otherKey in OtherKey)\r
+ {\r
+ if (!otherKey.IsPrimaryKey)\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+\r
+ private MetaDataMember _otherMember;\r
+ public override MetaDataMember OtherMember\r
+ {\r
+ get { return _otherMember; }\r
+ }\r
+\r
+ public override MetaType OtherType\r
+ {\r
+ get { return _otherMember.DeclaringType; }\r
+ }\r
+\r
+ private ReadOnlyCollection<MetaDataMember> _thisKey;\r
+ public override ReadOnlyCollection<MetaDataMember> ThisKey\r
+ {\r
+ get { return _thisKey; }\r
+ }\r
+\r
+ public override bool ThisKeyIsPrimaryKey\r
+ {\r
+ get\r
+ {\r
+ foreach (var thisKey in _thisKey)\r
+ {\r
+ if (!thisKey.IsPrimaryKey)\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+\r
+ private MetaDataMember _thisMember;\r
+ public override MetaDataMember ThisMember\r
+ {\r
+ get { return _thisMember; }\r
+ }\r
+ }\r
}
\ No newline at end of file
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System.Collections;
-using System.Diagnostics;
-using System.Linq.Expressions;
-using System.Collections.Generic;
-
-#if MONO_STRICT
-namespace System.Data.Linq.Sugar
-#else
-namespace DbLinq.Data.Linq.Sugar
-#endif
-{
- [DebuggerDisplay("ExpressionChain {Expressions.Count} Expression(s)")]
- internal class ExpressionChain : IEnumerable<Expression>
- {
- public List<Expression> Expressions { get; private set; }
-
- public ExpressionChain()
- {
- Expressions = new List<Expression>();
- }
-
- public ExpressionChain(IEnumerable<Expression> expressions)
- {
- Expressions = new List<Expression>(expressions);
- }
-
- public ExpressionChain(IEnumerable expressions)
- {
- Expressions = new List<Expression>();
- foreach (Expression e in expressions)
- Expressions.Add(e);
- }
-
- public ExpressionChain(IEnumerable expressions, Expression expression)
- : this(expressions)
- {
- Expressions.Add(expression);
- }
-
- public ExpressionChain(IEnumerable expressions, IEnumerable<Expression> expressions2)
- : this(expressions)
- {
- Expressions.AddRange(expressions2);
- }
-
- public override bool Equals(object obj)
- {
- var other = obj as ExpressionChain;
- if (other == null)
- return false;
- if (Expressions.Count != other.Expressions.Count)
- return false;
- for (int expressionIndex = 0; expressionIndex < Expressions.Count; expressionIndex++)
- {
- if (!Expressions[expressionIndex].Equals(other.Expressions[expressionIndex]))
- return false;
- }
- return true;
- }
-
- public override int GetHashCode()
- {
- int hash = 0;
- foreach (var expression in Expressions)
- {
- hash <<= 10;
- hash ^= (int)expression.NodeType;
- hash ^= expression.Type.GetHashCode();
- }
- return hash;
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return ((IEnumerable<Expression>)this).GetEnumerator();
- }
-
- public IEnumerator<Expression> GetEnumerator()
- {
- return Expressions.GetEnumerator();
- }
- }
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System.Collections;\r
+using System.Diagnostics;\r
+using System.Linq.Expressions;\r
+using System.Collections.Generic;\r
+\r
+#if MONO_STRICT\r
+namespace System.Data.Linq.Sugar\r
+#else\r
+namespace DbLinq.Data.Linq.Sugar\r
+#endif\r
+{\r
+ [DebuggerDisplay("ExpressionChain {Expressions.Count} Expression(s)")]\r
+ internal class ExpressionChain : IEnumerable<Expression>\r
+ {\r
+ public List<Expression> Expressions { get; private set; }\r
+\r
+ public ExpressionChain()\r
+ {\r
+ Expressions = new List<Expression>();\r
+ }\r
+\r
+ public ExpressionChain(IEnumerable<Expression> expressions)\r
+ {\r
+ Expressions = new List<Expression>(expressions);\r
+ }\r
+\r
+ public ExpressionChain(IEnumerable expressions)\r
+ {\r
+ Expressions = new List<Expression>();\r
+ foreach (Expression e in expressions)\r
+ Expressions.Add(e);\r
+ }\r
+\r
+ public ExpressionChain(IEnumerable expressions, Expression expression)\r
+ : this(expressions)\r
+ {\r
+ Expressions.Add(expression);\r
+ }\r
+\r
+ public ExpressionChain(IEnumerable expressions, IEnumerable<Expression> expressions2)\r
+ : this(expressions)\r
+ {\r
+ Expressions.AddRange(expressions2);\r
+ }\r
+\r
+ public override bool Equals(object obj)\r
+ {\r
+ var other = obj as ExpressionChain;\r
+ if (other == null)\r
+ return false;\r
+ if (Expressions.Count != other.Expressions.Count)\r
+ return false;\r
+ for (int expressionIndex = 0; expressionIndex < Expressions.Count; expressionIndex++)\r
+ {\r
+ if (!Expressions[expressionIndex].Equals(other.Expressions[expressionIndex]))\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+\r
+ public override int GetHashCode()\r
+ {\r
+ int hash = 0;\r
+ foreach (var expression in Expressions)\r
+ {\r
+ hash <<= 10;\r
+ hash ^= (int)expression.NodeType;\r
+ hash ^= expression.Type.GetHashCode();\r
+ }\r
+ return hash;\r
+ }\r
+\r
+ IEnumerator IEnumerable.GetEnumerator()\r
+ {\r
+ return ((IEnumerable<Expression>)this).GetEnumerator();\r
+ }\r
+\r
+ public IEnumerator<Expression> GetEnumerator()\r
+ {\r
+ return Expressions.GetEnumerator();\r
+ }\r
+ }\r
}
\ No newline at end of file
return (Expression<Func<IDataRecord, MappingContext, int, int?>>)((dataRecord, mappingContext, valueIndex)\r
=> dataRecord.GetAsNullableNumeric<int>(valueIndex));\r
}\r
+ if (simpleReturnType == typeof(System.Data.Linq.Binary))\r
+ {\r
+ return (Expression<Func<IDataRecord, MappingContext, int, byte[]>>)((dataRecord, mappingContext, valueIndex)\r
+ => dataRecord.GetAsBytes(valueIndex));\r
+ }\r
// for polymorphic types especially for ExecuteQuery<>()\r
if (simpleReturnType == typeof(object))\r
{\r
return AnalyzeCall(expression.Method, newParameters.ToList(), builderContext);\r
}\r
\r
- enum DateTimePart\r
- {\r
- Yeah,\r
- Month,\r
- Day,\r
- Hour,\r
- Minute,\r
- Second,\r
- Millisecond,\r
- Microsecond,\r
- Nanosecond\r
- }\r
-\r
/// <summary>\r
/// Analyzes method call\r
/// </summary>\r
// all methods to handle are listed here:\r
// ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_system.core/html/2a54ce9d-76f2-81e2-95bb-59740c85386b.htm\r
string methodName = method.Name;\r
- if (method.DeclaringType == typeof(System.Data.Linq.SqlClient.SqlMethods))\r
- {\r
- switch (methodName)\r
- {\r
- case "Like":\r
- if (parameters.Count == 3)\r
- throw new NotImplementedException();\r
- return AnalyzeLike(parameters[0], null, parameters[1], null, builderContext);\r
- case "DateDiffDay":\r
- return AnalyzeSqlDateDiff(DateTimePart.Day, parameters, builderContext);\r
- case "DateDiffHour":\r
- return AnalyzeSqlDateDiff(DateTimePart.Hour, parameters, builderContext);\r
- case "DateDiffMicrosecond":\r
- return AnalyzeSqlDateDiff(DateTimePart.Microsecond, parameters, builderContext);\r
- case "DateDiffMillisecond":\r
- return AnalyzeSqlDateDiff(DateTimePart.Millisecond, parameters, builderContext);\r
- case "DateDiffMinute":\r
- return AnalyzeSqlDateDiff(DateTimePart.Minute, parameters, builderContext);\r
- case "DateDiffMonth":\r
- return AnalyzeSqlDateDiff(DateTimePart.Month, parameters, builderContext);\r
- case "DateDiffNanosecond":\r
- return AnalyzeSqlDateDiff(DateTimePart.Nanosecond, parameters, builderContext);\r
- case "DateDiffSecond":\r
- return AnalyzeSqlDateDiff(DateTimePart.Second, parameters, builderContext);\r
- case "DateDiffYeah":\r
- return AnalyzeSqlDateDiff(DateTimePart.Yeah, parameters, builderContext);\r
- default:\r
- throw Error.BadArgument("S0134: Implement QueryMethod '{0}'", methodName);\r
- }\r
- }\r
switch (methodName)\r
{\r
case "Select":\r
}\r
}\r
\r
- static readonly MethodInfo dateTimeHasValue = typeof(DateTime?).GetProperty("HasValue").GetGetMethod();\r
- static readonly MethodInfo dateTimeOffsetHasValue = typeof(DateTimeOffset?).GetProperty("HasValue").GetGetMethod();\r
- static readonly MethodInfo dateTimeValue = typeof(DateTime?).GetProperty("Value").GetGetMethod();\r
- static readonly MethodInfo dateTimeOffsetValue = typeof(DateTimeOffset?).GetProperty("Value").GetGetMethod();\r
- static readonly ConstructorInfo nintctr = typeof(int?).GetConstructors()[0];\r
-\r
- static MethodInfo GetPropertyGetterForDatePart(Type t, DateTimePart p)\r
- {\r
- switch (p)\r
- {\r
- case DateTimePart.Day: return t.GetProperty("Day").GetGetMethod();\r
- case DateTimePart.Hour: return t.GetProperty("Hour").GetGetMethod();\r
- case DateTimePart.Microsecond: return t.GetProperty("Microsecond").GetGetMethod();\r
- case DateTimePart.Millisecond: return t.GetProperty("Millisecond").GetGetMethod();\r
- case DateTimePart.Minute: return t.GetProperty("Minute").GetGetMethod();\r
- case DateTimePart.Month: return t.GetProperty("Month").GetGetMethod();\r
- case DateTimePart.Nanosecond: return t.GetProperty("Nanosecond").GetGetMethod();\r
- case DateTimePart.Second: return t.GetProperty("Second").GetGetMethod();\r
- case DateTimePart.Yeah: return t.GetProperty("Yeah").GetGetMethod();\r
- }\r
- throw new NotImplementedException();\r
- }\r
-\r
- private Expression AnalyzeSqlDateDiff(DateTimePart part, IList<Expression> parameters, BuilderContext builderContext)\r
- {\r
- Expression l = parameters[0], r = parameters [1];\r
- Type valueType = l.Type.IsNullable() ? (l.Type == typeof(DateTime?) ? typeof(DateTime) : typeof(DateTimeOffset)) : l.Type;\r
- MethodInfo p = GetPropertyGetterForDatePart(valueType, part);\r
- if (l.Type.IsNullable())\r
- {\r
- MethodInfo hasValue = l.Type == typeof(DateTime?) ? dateTimeHasValue : dateTimeOffsetHasValue;\r
- MethodInfo value = l.Type == typeof(DateTime?) ? dateTimeValue : dateTimeOffsetValue;\r
-// Console.WriteLine("!!!! {0}, {1}", Expression.Subtract(Expression.Property(Expression.Property(l, value), p), Expression.Property(Expression.Property(r, value), p)).Type, Expression.New(int?).Type);\r
- return Expression.Condition(\r
- Expression.AndAlso(Expression.Property(l, hasValue), Expression.Property(r, hasValue)),\r
- Expression.New (nintctr,\r
- Expression.Subtract(\r
- Expression.Property(Expression.Property (l, value), p),\r
- Expression.Property(Expression.Property (r, value), p))),\r
- Expression.Convert (Expression.Constant (null), typeof (int?)));\r
- }\r
- else\r
- return Expression.Subtract(Expression.Property(l, p), Expression.Property(r, p));\r
- }\r
-\r
private Expression AnalyzeStringInsert(IList<Expression> parameters, BuilderContext builderContext)\r
{\r
var startIndexExpression = new StartIndexOffsetExpression(builderContext.QueryContext.DataContext.Vendor.SqlProvider.StringIndexStartsAtOne, parameters.ElementAt(1));\r
if (!(operand is ConstantExpression))\r
return expression;\r
}\r
+ if (expression is ColumnExpression)\r
+ return expression;\r
+ if (expression is TableExpression)\r
+ return expression;\r
+ if (expression is ParameterExpression)\r
+ return expression;\r
// now, we just simply return a constant with new value\r
try\r
{\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using DbLinq.Util;
-
-#if MONO_STRICT
-namespace System.Data.Linq.Sugar.Implementation
-#else
-namespace DbLinq.Data.Linq.Sugar.Implementation
-#endif
-{
- internal class QueryCache : IQueryCache
- {
- private class TableReaderSignature
- {
- private readonly Type tableType;
- private readonly IList<string> columns;
-
- public override bool Equals(object obj)
- {
- var trs = (TableReaderSignature)obj;
- if (trs.tableType != tableType)
- return false;
- return trs.columns.SequenceEqual(columns);
- }
-
- public override int GetHashCode()
- {
- int hash = tableType.GetHashCode();
- foreach (var column in columns)
- hash ^= column.GetHashCode();
- return hash;
- }
-
- public TableReaderSignature(Type tableType, IList<string> columns)
- {
- this.tableType = tableType;
- this.columns = columns;
- }
- }
-
- private readonly IDictionary<ExpressionChain, SelectQuery> selectQueries = new Dictionary<ExpressionChain, SelectQuery>((IEqualityComparer<ExpressionChain>) new ExpressionChainEqualityComparer());
- private readonly IDictionary<TableReaderSignature, Delegate> tableReaders = new Dictionary<TableReaderSignature, Delegate>();
-
- public SelectQuery GetFromSelectCache(ExpressionChain expressions)
- {
- SelectQuery selectQuery;
- lock (selectQueries)
- selectQueries.TryGetValue(expressions, out selectQuery);
- return selectQuery;
- }
-
- public void SetInSelectCache(ExpressionChain expressions, SelectQuery sqlSelectQuery)
- {
- lock (selectQueries)
- selectQueries[expressions] = sqlSelectQuery;
- }
-
- public Delegate GetFromTableReaderCache(Type tableType, IList<string> columns)
- {
- var signature = new TableReaderSignature(tableType, columns);
- Delegate tableReader;
- lock (tableReaders)
- tableReaders.TryGetValue(signature, out tableReader);
- return tableReader;
- }
-
- public void SetInTableReaderCache(Type tableType, IList<string> columns, Delegate tableReader)
- {
- var signature = new TableReaderSignature(tableType, columns);
- lock (tableReaders)
- tableReaders[signature] = tableReader;
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using DbLinq.Util;\r
+\r
+#if MONO_STRICT\r
+namespace System.Data.Linq.Sugar.Implementation\r
+#else\r
+namespace DbLinq.Data.Linq.Sugar.Implementation\r
+#endif\r
+{\r
+ internal class QueryCache : IQueryCache\r
+ {\r
+ private class TableReaderSignature\r
+ {\r
+ private readonly Type tableType;\r
+ private readonly IList<string> columns;\r
+\r
+ public override bool Equals(object obj)\r
+ {\r
+ var trs = (TableReaderSignature)obj;\r
+ if (trs.tableType != tableType)\r
+ return false;\r
+ return trs.columns.SequenceEqual(columns);\r
+ }\r
+\r
+ public override int GetHashCode()\r
+ {\r
+ int hash = tableType.GetHashCode();\r
+ foreach (var column in columns)\r
+ hash ^= column.GetHashCode();\r
+ return hash;\r
+ }\r
+\r
+ public TableReaderSignature(Type tableType, IList<string> columns)\r
+ {\r
+ this.tableType = tableType;\r
+ this.columns = columns;\r
+ }\r
+ }\r
+\r
+ private readonly IDictionary<ExpressionChain, SelectQuery> selectQueries = new Dictionary<ExpressionChain, SelectQuery>((IEqualityComparer<ExpressionChain>) new ExpressionChainEqualityComparer());\r
+ private readonly IDictionary<TableReaderSignature, Delegate> tableReaders = new Dictionary<TableReaderSignature, Delegate>();\r
+\r
+ public SelectQuery GetFromSelectCache(ExpressionChain expressions)\r
+ {\r
+ SelectQuery selectQuery;\r
+ lock (selectQueries)\r
+ selectQueries.TryGetValue(expressions, out selectQuery);\r
+ return selectQuery;\r
+ }\r
+\r
+ public void SetInSelectCache(ExpressionChain expressions, SelectQuery sqlSelectQuery)\r
+ {\r
+ lock (selectQueries)\r
+ selectQueries[expressions] = sqlSelectQuery;\r
+ }\r
+\r
+ public Delegate GetFromTableReaderCache(Type tableType, IList<string> columns)\r
+ {\r
+ var signature = new TableReaderSignature(tableType, columns);\r
+ Delegate tableReader;\r
+ lock (tableReaders)\r
+ tableReaders.TryGetValue(signature, out tableReader);\r
+ return tableReader;\r
+ }\r
+\r
+ public void SetInTableReaderCache(Type tableType, IList<string> columns, Delegate tableReader)\r
+ {\r
+ var signature = new TableReaderSignature(tableType, columns);\r
+ lock (tableReaders)\r
+ tableReaders[signature] = tableReader;\r
+ }\r
+ }\r
+}\r
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>DbLinq</RootNamespace>
- <AssemblyName>DbLinq</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>..\DbLinq.snk</AssemblyOriginatorKeyFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>..\..\build\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug - Mono Strict|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>bin\Debug - Mono Strict\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>AnyCPU</PlatformTarget>
- <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
- <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.TeamSystem.Data.UnitTesting, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="System" />
- <Reference Include="System.Configuration" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data" />
- <Reference Include="System.Data.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\DbLinq.ProductInfo.cs">
- <Link>Properties\DbLinq.ProductInfo.cs</Link>
- </Compile>
- <Compile Include="Data\Linq\ChangeSet.cs" />
- <Compile Include="Data\Linq\Database\IDatabaseContext.cs" />
- <Compile Include="Data\Linq\Database\IDatabaseTransaction.cs" />
- <Compile Include="Data\Linq\Database\ITransactionalCommand.cs" />
- <Compile Include="Data\Linq\Database\Implementation\DatabaseConnection.cs" />
- <Compile Include="Data\Linq\Database\Implementation\DatabaseContext.cs" />
- <Compile Include="Data\Linq\Database\Implementation\DatabaseTransaction.cs" />
- <Compile Include="Data\Linq\DataLoadOptions.cs" />
- <Compile Include="Data\Linq\DBLinqExtendedAttributte.cs" />
- <Compile Include="Data\Linq\EntityRef.cs" />
- <Compile Include="Data\Linq\EntitySet.cs" />
- <Compile Include="Data\Linq\Implementation\EntityTrack.cs" />
- <Compile Include="Data\Linq\Implementation\EntityState.cs" />
- <Compile Include="Data\Linq\Implementation\EntityTracker.cs" />
- <Compile Include="Data\Linq\Implementation\VendorProvider.cs" />
- <Compile Include="Data\Linq\ITable.Extended.cs" />
- <Compile Include="Data\Linq\DataContext.cs" />
- <Compile Include="Data\Linq\DataContext.Extended.cs" />
- <Compile Include="Data\Linq\Identity\IdentityKey.cs" />
- <Compile Include="Data\Linq\Identity\IIdentityProvider.cs" />
- <Compile Include="Data\Linq\Identity\IIdentityReader.cs" />
- <Compile Include="Data\Linq\Identity\IIdentityReaderFactory.cs" />
- <Compile Include="Data\Linq\Identity\Implementation\IdentityProviderReader.cs" />
- <Compile Include="Data\Linq\Identity\Implementation\IdentityReader.cs" />
- <Compile Include="Data\Linq\Identity\Implementation\IdentityReaderFactory.cs" />
- <Compile Include="Data\Linq\IMemberModificationHandler.cs" />
- <Compile Include="Data\Linq\Implementation\MemberModificationHandler.cs" />
- <Compile Include="Data\Linq\Implementation\QueryProvider.cs" />
- <Compile Include="Data\Linq\ITable.cs" />
- <Compile Include="Data\Linq\IVendorProvider.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedAbstractMetaDataMember.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedAssociationMetaDataMember.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedColumnMetaDataMember.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaAssociation.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaFunction.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaModel.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaTable.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaType.cs" />
- <Compile Include="Data\Linq\Mapping\AttributeMappingSource.cs" />
- <Compile Include="Data\Linq\Mapping\MappingContext.cs" />
- <Compile Include="Data\Linq\SqlClient\FirebirdProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\Sql2005Provider.cs" />
- <Compile Include="Data\Linq\SqlClient\Sql2000Provider.cs" />
- <Compile Include="Data\Linq\SqlClient\SqlServerProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\SqliteProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\OracleProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\PostgreSqlProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\MySqlProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\IngresProvider.cs" />
- <Compile Include="Data\Linq\Sql\SqlStatementBuilder.cs" />
- <Compile Include="Data\Linq\Sql\SqlParameterPart.cs" />
- <Compile Include="Data\Linq\Sql\SqlLiteralPart.cs" />
- <Compile Include="Data\Linq\Sql\SqlPart.cs" />
- <Compile Include="Data\Linq\Sql\SqlStatement.cs" />
- <Compile Include="Data\Linq\Sugar\BuilderContext.cs" />
- <Compile Include="Data\Linq\Database\Implementation\TransactionalCommand.cs" />
- <Compile Include="Data\Linq\Sugar\DeleteQuery.cs" />
- <Compile Include="Data\Linq\Sugar\DirectQuery.cs" />
- <Compile Include="Data\Linq\Sugar\Error.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionChain.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorExtensions.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorFactory.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\BinaryExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConditionalExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConstantExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\IMemberBindingMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\InvocationExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\LambdaExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ListInitExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberAssignmentMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberBindingMutatorFactory.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberInitExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberListBindingMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberMemberBindingMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MethodCallExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewArrayExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ParameterExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\TypeBinaryExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\UnaryExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionPrecedence.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionQuery.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\ColumnExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\EntitySetExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\ObjectInputParameterExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\ObjectOutputParameterExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\CustomExpressionType.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\InputParameterExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\GroupExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\IExecutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\IMutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\MetaTableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\MutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\OperandsMutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\OrderByExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SelectExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SelectOperatorType.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpressionType.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\StartIndexOffsetExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\TableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\TableJoinType.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionTier.cs" />
- <Compile Include="Data\Linq\Sugar\IDataMapper.cs" />
- <Compile Include="Data\Linq\Sugar\IDataRecordReader.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionDispatcher.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionLanguageParser.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionOptimizer.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionQualifier.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\DataMapper.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\DataRecordReader.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Registrar.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionLanguageParser.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionQualifier.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.Upsert.cs" />
- <Compile Include="Data\Linq\Sugar\ParameterizedQuery.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Data\Linq\Sugar\UpsertQuery.cs" />
- <Compile Include="Data\Linq\Sugar\IQueryCache.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\LineGrouping.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\PrequelAnalyzer.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryCache.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryRunner.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\SpecialExpressionTranslator.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\SqlBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\IPrequelAnalyzer.cs" />
- <Compile Include="Data\Linq\Sugar\IQueryBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\IQueryRunner.cs" />
- <Compile Include="Data\Linq\Sugar\ISpecialExpressionTranslator.cs" />
- <Compile Include="Data\Linq\Sugar\ISqlBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\AbstractQuery.cs" />
- <Compile Include="Data\Linq\Sugar\SelectQuery.cs" />
- <Compile Include="Data\Linq\Sugar\QueryContext.cs" />
- <Compile Include="Data\Linq\Table.cs" />
- <Compile Include="Data\Linq\Table.Extended.cs" />
- <Compile Include="DbLinqToDoAttribute.cs" />
- <Compile Include="Factory\DbLinqAttribute.cs" />
- <Compile Include="Factory\Implementation\AbstractObjectFactory.cs" />
- <Compile Include="Factory\Implementation\ReflectionObjectFactory.cs" />
- <Compile Include="Factory\IObjectFactory.cs" />
- <Compile Include="Factory\ObjectFactory.cs" />
- <Compile Include="Schema\Case.cs" />
- <Compile Include="Schema\Dbml\Adapter\ArrayAdapter.cs" />
- <Compile Include="Schema\Dbml\Adapter\CsvArrayAdapter.cs" />
- <Compile Include="Schema\Dbml\Adapter\EnumType.cs" />
- <Compile Include="Schema\Dbml\Adapter\INamedType.cs" />
- <Compile Include="Schema\Dbml\Adapter\ISimpleList.cs" />
- <Compile Include="Schema\Dbml\Adapter\SpecifiedPropertyUpdater.cs" />
- <Compile Include="Schema\WordsExtraction.cs" />
- <Compile Include="Schema\NameFormat.cs" />
- <Compile Include="Schema\AssociationName.cs" />
- <Compile Include="Schema\ColumnName.cs" />
- <Compile Include="Schema\ParameterName.cs" />
- <Compile Include="Schema\Dbml\DbmlSchema.Adapter.cs" />
- <Compile Include="Schema\Dbml\DbmlSchema.cs">
- <DependentUpon>DbmlSchema.xsd</DependentUpon>
- </Compile>
- <Compile Include="Schema\Dbml\DbmlSerializer.cs" />
- <Compile Include="Schema\ProcedureName.cs" />
- <Compile Include="Schema\Name.cs" />
- <Compile Include="Schema\SchemaName.cs" />
- <Compile Include="Schema\TableName.cs" />
- <Compile Include="Util\DbmlExtensions.cs" />
- <Compile Include="Util\ExpressionChainEqualityComparer.cs" />
- <Compile Include="Util\ExpressionEqualityComparer.cs" />
- <Compile Include="Util\Output.cs" />
- <Compile Include="Util\IDataRecordExtensions.cs" />
- <Compile Include="Util\IDataTypeExtensions.cs" />
- <Compile Include="Language\ILanguages.cs" />
- <Compile Include="Language\ILanguageWords.cs" />
- <Compile Include="Util\IDbDataParameterExtensions.cs" />
- <Compile Include="Util\OutputLevel.cs" />
- <Compile Include="Util\ReflectionUtility.cs" />
- <Compile Include="Util\TextWriterExtension.cs" />
- <Compile Include="Util\LambdaComparer.cs" />
- <Compile Include="Util\DataCommand.cs" />
- <Compile Include="Schema\INameFormatter.cs" />
- <Compile Include="Language\Implementation\AbstractEndPluralWords.cs" />
- <Compile Include="Language\Implementation\AbstractWords.cs" />
- <Compile Include="Language\Implementation\Languages.cs" />
- <Compile Include="Language\Implementation\NoLanguageWords.cs" />
- <Compile Include="Schema\Implementation\NameFormatter.cs" />
- <Compile Include="Util\MemberInfoExtensions.cs" />
- <Compile Include="Util\ReflectionExtensions.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Util\StringExtensions.cs" />
- <Compile Include="Util\TypeConvert.cs" />
- <Compile Include="Util\QuotesHelper.cs" />
- <Compile Include="Util\ReferenceEqualityComparer.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Util\Page.cs" />
- <Compile Include="Util\TypeExtensions.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Util\TypeLoader.cs" />
- <Compile Include="Vendor\VendorAttribute.cs" />
- <Compile Include="Vendor\IDataTableColumn.cs" />
- <Compile Include="Vendor\IDataName.cs" />
- <Compile Include="Vendor\IDataType.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.Name.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.Columns.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.DataTableColumn.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.DataName.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.ForeignKey.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.StoredProcedures.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.Tables.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.TypeMapping.cs" />
- <Compile Include="Vendor\Implementation\Vendor.ProcedureResult.cs" />
- <Compile Include="Vendor\INameAliases.cs" />
- <Compile Include="Vendor\ISchemaLoader.cs" />
- <Compile Include="Vendor\ISqlProvider.cs" />
- <Compile Include="Vendor\IVendor.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.cs" />
- <Compile Include="Vendor\Implementation\Vendor.cs" />
- <Compile Include="Vendor\Implementation\SqlProvider.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="..\DbLinq.snk">
- <Link>Properties\DbLinq.snk</Link>
- </None>
- <None Include="Schema\Dbml\DbmlSchema.bat" />
- <EmbeddedResource Include="Schema\Dbml\DbmlSchema.xsd">
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <Content Include="Data\Linq\Sugar\Notes.txt" />
- <Content Include="Data\Linq\ReadMe.txt" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <PropertyGroup>
- <PreBuildEvent>
- </PreBuildEvent>
- </PropertyGroup>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>DbLinq</RootNamespace>\r
+ <AssemblyName>DbLinq</AssemblyName>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <FileAlignment>512</FileAlignment>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyOriginatorKeyFile>..\DbLinq.snk</AssemblyOriginatorKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug - Mono Strict|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <OutputPath>..\..\build.dbg.mono\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG</DefineConstants>\r
+ <DebugType>full</DebugType>\r
+ <PlatformTarget>AnyCPU</PlatformTarget>\r
+ <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>\r
+ <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <Reference Include="Microsoft.VisualStudio.TeamSystem.Data.UnitTesting, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Configuration" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\DbLinq.ProductInfo.cs">\r
+ <Link>Properties\DbLinq.ProductInfo.cs</Link>\r
+ </Compile>\r
+ <Compile Include="Data\Linq\ChangeSet.cs" />\r
+ <Compile Include="Data\Linq\Database\IDatabaseContext.cs" />\r
+ <Compile Include="Data\Linq\Database\IDatabaseTransaction.cs" />\r
+ <Compile Include="Data\Linq\Database\ITransactionalCommand.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\DatabaseConnection.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\DatabaseContext.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\DatabaseTransaction.cs" />\r
+ <Compile Include="Data\Linq\DataLoadOptions.cs" />\r
+ <Compile Include="Data\Linq\DBLinqExtendedAttributte.cs" />\r
+ <Compile Include="Data\Linq\EntityRef.cs" />\r
+ <Compile Include="Data\Linq\EntitySet.cs" />\r
+ <Compile Include="Data\Linq\Implementation\EntityTrack.cs" />\r
+ <Compile Include="Data\Linq\Implementation\EntityState.cs" />\r
+ <Compile Include="Data\Linq\Implementation\EntityTracker.cs" />\r
+ <Compile Include="Data\Linq\Implementation\VendorProvider.cs" />\r
+ <Compile Include="Data\Linq\ITable.Extended.cs" />\r
+ <Compile Include="Data\Linq\DataContext.cs" />\r
+ <Compile Include="Data\Linq\DataContext.Extended.cs" />\r
+ <Compile Include="Data\Linq\Identity\IdentityKey.cs" />\r
+ <Compile Include="Data\Linq\Identity\IIdentityProvider.cs" />\r
+ <Compile Include="Data\Linq\Identity\IIdentityReader.cs" />\r
+ <Compile Include="Data\Linq\Identity\IIdentityReaderFactory.cs" />\r
+ <Compile Include="Data\Linq\Identity\Implementation\IdentityProviderReader.cs" />\r
+ <Compile Include="Data\Linq\Identity\Implementation\IdentityReader.cs" />\r
+ <Compile Include="Data\Linq\Identity\Implementation\IdentityReaderFactory.cs" />\r
+ <Compile Include="Data\Linq\IMemberModificationHandler.cs" />\r
+ <Compile Include="Data\Linq\Implementation\MemberModificationHandler.cs" />\r
+ <Compile Include="Data\Linq\Implementation\QueryProvider.cs" />\r
+ <Compile Include="Data\Linq\ITable.cs" />\r
+ <Compile Include="Data\Linq\IVendorProvider.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedAbstractMetaDataMember.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedAssociationMetaDataMember.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedColumnMetaDataMember.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaAssociation.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaFunction.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaModel.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaTable.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaType.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributeMappingSource.cs" />\r
+ <Compile Include="Data\Linq\Mapping\MappingContext.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\FirebirdProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\Sql2005Provider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\Sql2000Provider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\SqlServerProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\SqliteProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\OracleProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\PostgreSqlProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\MySqlProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\IngresProvider.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlStatementBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlParameterPart.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlLiteralPart.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlPart.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlStatement.cs" />\r
+ <Compile Include="Data\Linq\Sugar\BuilderContext.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\TransactionalCommand.cs" />\r
+ <Compile Include="Data\Linq\Sugar\DeleteQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\DirectQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Error.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionChain.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorExtensions.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorFactory.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\BinaryExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConditionalExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConstantExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\IMemberBindingMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\InvocationExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\LambdaExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ListInitExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberAssignmentMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberBindingMutatorFactory.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberInitExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberListBindingMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberMemberBindingMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MethodCallExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewArrayExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ParameterExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\TypeBinaryExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\UnaryExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionPrecedence.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\ColumnExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\EntitySetExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\ObjectInputParameterExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\ObjectOutputParameterExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\CustomExpressionType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\InputParameterExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\GroupExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\IExecutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\IMutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\MetaTableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\MutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\OperandsMutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\OrderByExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SelectExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SelectOperatorType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpressionType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\StartIndexOffsetExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\TableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\TableJoinType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionTier.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IDataMapper.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IDataRecordReader.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionDispatcher.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionLanguageParser.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionOptimizer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionQualifier.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\DataMapper.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\DataRecordReader.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Registrar.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionLanguageParser.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionQualifier.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.Upsert.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ParameterizedQuery.cs">\r
+ <SubType>Code</SubType>\r
+ </Compile>\r
+ <Compile Include="Data\Linq\Sugar\UpsertQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IQueryCache.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\LineGrouping.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\PrequelAnalyzer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryCache.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryRunner.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\SpecialExpressionTranslator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\SqlBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IPrequelAnalyzer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IQueryBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IQueryRunner.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ISpecialExpressionTranslator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ISqlBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\AbstractQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\SelectQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\QueryContext.cs" />\r
+ <Compile Include="Data\Linq\Table.cs" />\r
+ <Compile Include="Data\Linq\Table.Extended.cs" />\r
+ <Compile Include="DbLinqToDoAttribute.cs" />\r
+ <Compile Include="Factory\DbLinqAttribute.cs" />\r
+ <Compile Include="Factory\Implementation\AbstractObjectFactory.cs" />\r
+ <Compile Include="Factory\Implementation\ReflectionObjectFactory.cs" />\r
+ <Compile Include="Factory\IObjectFactory.cs" />\r
+ <Compile Include="Factory\ObjectFactory.cs" />\r
+ <Compile Include="Schema\Case.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\ArrayAdapter.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\CsvArrayAdapter.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\EnumType.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\INamedType.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\ISimpleList.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\SpecifiedPropertyUpdater.cs" />\r
+ <Compile Include="Schema\WordsExtraction.cs" />\r
+ <Compile Include="Schema\NameFormat.cs" />\r
+ <Compile Include="Schema\AssociationName.cs" />\r
+ <Compile Include="Schema\ColumnName.cs" />\r
+ <Compile Include="Schema\ParameterName.cs" />\r
+ <Compile Include="Schema\Dbml\DbmlSchema.Adapter.cs" />\r
+ <Compile Include="Schema\Dbml\DbmlSchema.cs">\r
+ <DependentUpon>DbmlSchema.xsd</DependentUpon>\r
+ </Compile>\r
+ <Compile Include="Schema\Dbml\DbmlSerializer.cs" />\r
+ <Compile Include="Schema\ProcedureName.cs" />\r
+ <Compile Include="Schema\Name.cs" />\r
+ <Compile Include="Schema\SchemaName.cs" />\r
+ <Compile Include="Schema\TableName.cs" />\r
+ <Compile Include="Util\DbmlExtensions.cs" />\r
+ <Compile Include="Util\ExpressionChainEqualityComparer.cs" />\r
+ <Compile Include="Util\ExpressionEqualityComparer.cs" />\r
+ <Compile Include="Util\Output.cs" />\r
+ <Compile Include="Util\IDataRecordExtensions.cs" />\r
+ <Compile Include="Util\IDataTypeExtensions.cs" />\r
+ <Compile Include="Language\ILanguages.cs" />\r
+ <Compile Include="Language\ILanguageWords.cs" />\r
+ <Compile Include="Util\IDbDataParameterExtensions.cs" />\r
+ <Compile Include="Util\OutputLevel.cs" />\r
+ <Compile Include="Util\ReflectionUtility.cs" />\r
+ <Compile Include="Util\TextWriterExtension.cs" />\r
+ <Compile Include="Util\LambdaComparer.cs" />\r
+ <Compile Include="Util\DataCommand.cs" />\r
+ <Compile Include="Schema\INameFormatter.cs" />\r
+ <Compile Include="Language\Implementation\AbstractEndPluralWords.cs" />\r
+ <Compile Include="Language\Implementation\AbstractWords.cs" />\r
+ <Compile Include="Language\Implementation\Languages.cs" />\r
+ <Compile Include="Language\Implementation\NoLanguageWords.cs" />\r
+ <Compile Include="Schema\Implementation\NameFormatter.cs" />\r
+ <Compile Include="Util\MemberInfoExtensions.cs" />\r
+ <Compile Include="Util\ReflectionExtensions.cs">\r
+ <SubType>Code</SubType>\r
+ </Compile>\r
+ <Compile Include="Util\StringExtensions.cs" />\r
+ <Compile Include="Util\TypeConvert.cs" />\r
+ <Compile Include="Util\QuotesHelper.cs" />\r
+ <Compile Include="Util\ReferenceEqualityComparer.cs" />\r
+ <Compile Include="Properties\AssemblyInfo.cs" />\r
+ <Compile Include="Util\Page.cs" />\r
+ <Compile Include="Util\TypeExtensions.cs">\r
+ <SubType>Code</SubType>\r
+ </Compile>\r
+ <Compile Include="Util\TypeLoader.cs" />\r
+ <Compile Include="Vendor\VendorAttribute.cs" />\r
+ <Compile Include="Vendor\IDataTableColumn.cs" />\r
+ <Compile Include="Vendor\IDataName.cs" />\r
+ <Compile Include="Vendor\IDataType.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.Name.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.Columns.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.DataTableColumn.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.DataName.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.ForeignKey.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.StoredProcedures.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.Tables.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.TypeMapping.cs" />\r
+ <Compile Include="Vendor\Implementation\Vendor.ProcedureResult.cs" />\r
+ <Compile Include="Vendor\INameAliases.cs" />\r
+ <Compile Include="Vendor\ISchemaLoader.cs" />\r
+ <Compile Include="Vendor\ISqlProvider.cs" />\r
+ <Compile Include="Vendor\IVendor.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.cs" />\r
+ <Compile Include="Vendor\Implementation\Vendor.cs" />\r
+ <Compile Include="Vendor\Implementation\SqlProvider.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\DbLinq.snk">\r
+ <Link>Properties\DbLinq.snk</Link>\r
+ </None>\r
+ <None Include="Schema\Dbml\DbmlSchema.bat" />\r
+ <EmbeddedResource Include="Schema\Dbml\DbmlSchema.xsd">\r
+ </EmbeddedResource>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Content Include="Data\Linq\Sugar\Notes.txt" />\r
+ <Content Include="Data\Linq\ReadMe.txt" />\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+ <PropertyGroup>\r
+ <PreBuildEvent>\r
+ </PreBuildEvent>\r
+ </PropertyGroup>\r
</Project>
\ No newline at end of file
+ "fe4a9cbb059374c0cc047aa28839fed7176761813caf6a2ffa0bff9afb50ead56dd3f56186a663"\r
+ "962a12b830c2a70eb70ec77823eb5750e5bdef9e01d097c30b5c5463c3d07d3472b58e4c02f279"\r
+ "2309259f")]\r
+[assembly: InternalsVisibleTo("DbLinq_test, PublicKey="\r
++ "0024000004800000940000000602000000240000525341310004000001000100c5753d8c47f400"\r
++ "83f549016a5711238ac8ec297605abccd3dc4b6d0f280b4764eb2cc58ec4e37831edad7e7a07b8"\r
++ "fe4a9cbb059374c0cc047aa28839fed7176761813caf6a2ffa0bff9afb50ead56dd3f56186a663"\r
++ "962a12b830c2a70eb70ec77823eb5750e5bdef9e01d097c30b5c5463c3d07d3472b58e4c02f279"\r
++ "2309259f")]\r
\r
\r
// DbMetal and vendors use DbLinq's internal utilities\r
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{97305421-3071-4175-AA3C-9A432CC28121}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>System</RootNamespace>
- <AssemblyName>System.Data.Linq</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>..\DbLinq.snk</AssemblyOriginatorKeyFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\</OutputPath>
- <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug - Mono Strict|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>bin\Debug - Mono Strict\</OutputPath>
- <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>AnyCPU</PlatformTarget>
- <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
- <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="System" />
- <Reference Include="System.Configuration" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\DbLinq.Firebird\FirebirdSqlProvider.cs">
- <Link>Vendors\DbLinq.FirebirdSql\FirebirdSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Firebird\FirebirdVendor.cs">
- <Link>Vendors\DbLinq.FirebirdSql\FirebirdVendor.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Ingres\IngresSqlProvider.cs">
- <Link>Vendors\DbLinq.Ingres\IngresSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Ingres\IngresVendor.cs">
- <Link>Vendors\DbLinq.Ingres\IngresVendor.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.MySql\MySqlSqlProvider.cs">
- <Link>Vendors\DbLinq.MySql\MySqlSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.MySql\MySqlVendor.cs">
- <Link>Vendors\DbLinq.MySql\MySqlVendor.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Oracle\OracleSqlProvider.cs">
- <Link>Vendors\DbLinq.Oracle\OracleSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Oracle\OracleVendor.cs">
- <Link>Vendors\DbLinq.Oracle\OracleVendor.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.PostgreSql\PgsqlSqlProvider.cs">
- <Link>Vendors\DbLinq.PostgreSql\PgsqlSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.PostgreSql\PgsqlVendor.cs">
- <Link>Vendors\DbLinq.PostgreSql\PgsqlVendor.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Sqlite\Schema\DataCommand.cs">
- <Link>Vendors\DbLinq.Sqlite\DataCommand.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Sqlite\SqliteSqlProvider.cs">
- <Link>Vendors\DbLinq.Sqlite\SqliteSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.Sqlite\SqliteVendor.cs">
- <Link>Vendors\DbLinq.Sqlite\SqliteVendor.cs</Link>
- </Compile>
- <Compile Include="Data\Linq\ChangeAction.cs" />
- <Compile Include="Data\Linq\ChangeSet.cs" />
- <Compile Include="Data\Linq\Database\IDatabaseContext.cs" />
- <Compile Include="Data\Linq\Database\IDatabaseTransaction.cs" />
- <Compile Include="Data\Linq\Database\Implementation\DatabaseConnection.cs" />
- <Compile Include="Data\Linq\Database\Implementation\DatabaseContext.cs" />
- <Compile Include="Data\Linq\Database\Implementation\DatabaseTransaction.cs" />
- <Compile Include="Data\Linq\Database\Implementation\TransactionalCommand.cs" />
- <Compile Include="Data\Linq\Database\ITransactionalCommand.cs" />
- <Compile Include="Data\Linq\DataContext.cs" />
- <Compile Include="Data\Linq\DataLoadOptions.cs" />
- <Compile Include="Data\Linq\DBLinqExtendedAttributte.cs" />
- <Compile Include="Data\Linq\EntitySet.cs" />
- <Compile Include="Data\Linq\Identity\IdentityKey.cs" />
- <Compile Include="Data\Linq\Identity\IIdentityProvider.cs" />
- <Compile Include="Data\Linq\Identity\IIdentityReader.cs" />
- <Compile Include="Data\Linq\Identity\IIdentityReaderFactory.cs" />
- <Compile Include="Data\Linq\Identity\Implementation\IdentityProviderReader.cs" />
- <Compile Include="Data\Linq\Identity\Implementation\IdentityReader.cs" />
- <Compile Include="Data\Linq\Identity\Implementation\IdentityReaderFactory.cs" />
- <Compile Include="Data\Linq\IExecuteResult.cs" />
- <Compile Include="Data\Linq\IMemberModificationHandler.cs" />
- <Compile Include="Data\Linq\Implementation\EntityState.cs" />
- <Compile Include="Data\Linq\Implementation\EntityTrack.cs" />
- <Compile Include="Data\Linq\Implementation\EntityTracker.cs" />
- <Compile Include="Data\Linq\Implementation\MemberModificationHandler.cs" />
- <Compile Include="Data\Linq\Implementation\QueryProvider.cs" />
- <Compile Include="Data\Linq\Implementation\VendorProvider.cs" />
- <Compile Include="Data\Linq\ITable.cs" />
- <Compile Include="Data\Linq\IVendorProvider.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedAbstractMetaDataMember.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedAssociationMetaDataMember.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedColumnMetaDataMember.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaAssociation.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaFunction.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaModel.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaTable.cs" />
- <Compile Include="Data\Linq\Mapping\AttributedMetaType.cs" />
- <Compile Include="Data\Linq\Mapping\AttributeMappingSource.cs" />
- <Compile Include="Data\Linq\Mapping\MappingContext.cs" />
- <Compile Include="Data\Linq\RefreshMode.cs" />
- <Compile Include="Data\Linq\SqlClient\FirebirdProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\IngresProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\MySqlProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\OracleProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\PostgreSqlProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\SqliteProvider.cs" />
- <Compile Include="Data\Linq\SqlClient\SqlServerProvider.cs" />
- <Compile Include="Data\Linq\Sql\SqlLiteralPart.cs" />
- <Compile Include="Data\Linq\Sql\SqlParameterPart.cs" />
- <Compile Include="Data\Linq\Sql\SqlPart.cs" />
- <Compile Include="Data\Linq\Sql\SqlStatement.cs" />
- <Compile Include="Data\Linq\Sql\SqlStatementBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\BuilderContext.cs" />
- <Compile Include="Data\Linq\Sugar\DeleteQuery.cs" />
- <Compile Include="Data\Linq\Sugar\DirectQuery.cs" />
- <Compile Include="Data\Linq\Sugar\Error.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionChain.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorExtensions.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorFactory.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\BinaryExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConditionalExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConstantExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\IMemberBindingMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\InvocationExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\LambdaExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ListInitExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberAssignmentMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberBindingMutatorFactory.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberInitExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberListBindingMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberMemberBindingMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MethodCallExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewArrayExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ParameterExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\TypeBinaryExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\UnaryExpressionMutator.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionPrecedence.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionQuery.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\ColumnExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\EntitySetExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\ObjectInputParameterExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\ObjectOutputParameterExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\CustomExpressionType.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\InputParameterExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\GroupExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\IExecutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\IMutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\MetaTableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\MutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\OperandsMutableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\OrderByExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SelectExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SelectOperatorType.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpressionType.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\StartIndexOffsetExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\TableExpression.cs" />
- <Compile Include="Data\Linq\Sugar\Expressions\TableJoinType.cs" />
- <Compile Include="Data\Linq\Sugar\ExpressionTier.cs" />
- <Compile Include="Data\Linq\Sugar\IDataMapper.cs" />
- <Compile Include="Data\Linq\Sugar\IDataRecordReader.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionDispatcher.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionLanguageParser.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionOptimizer.cs" />
- <Compile Include="Data\Linq\Sugar\IExpressionQualifier.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\DataMapper.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\DataRecordReader.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Registrar.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionLanguageParser.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\ExpressionQualifier.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.Upsert.cs" />
- <Compile Include="Data\Linq\Sugar\IQueryCache.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\LineGrouping.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\PrequelAnalyzer.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryCache.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\QueryRunner.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\SpecialExpressionTranslator.cs" />
- <Compile Include="Data\Linq\Sugar\Implementation\SqlBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\IPrequelAnalyzer.cs" />
- <Compile Include="Data\Linq\Sugar\IQueryBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\IQueryRunner.cs" />
- <Compile Include="Data\Linq\Sugar\ISpecialExpressionTranslator.cs" />
- <Compile Include="Data\Linq\Sugar\ISqlBuilder.cs" />
- <Compile Include="Data\Linq\Sugar\AbstractQuery.cs" />
- <Compile Include="Data\Linq\Sugar\ParameterizedQuery.cs" />
- <Compile Include="Data\Linq\Sugar\SelectQuery.cs" />
- <Compile Include="Data\Linq\Sugar\QueryContext.cs" />
- <Compile Include="Data\Linq\Sugar\UpsertQuery.cs" />
- <Compile Include="Data\Linq\Table.cs" />
- <Compile Include="DbLinqToDoAttribute.cs" />
- <Compile Include="Factory\DbLinqAttribute.cs" />
- <Compile Include="Factory\Implementation\AbstractObjectFactory.cs" />
- <Compile Include="Factory\Implementation\ReflectionObjectFactory.cs" />
- <Compile Include="Factory\IObjectFactory.cs" />
- <Compile Include="Factory\ObjectFactory.cs" />
- <Compile Include="MonoTODOAttribute.cs" />
- <Compile Include="Schema\Case.cs" />
- <Compile Include="Schema\Dbml\Adapter\ArrayAdapter.cs" />
- <Compile Include="Schema\Dbml\Adapter\CsvArrayAdapter.cs" />
- <Compile Include="Schema\Dbml\Adapter\EnumType.cs" />
- <Compile Include="Schema\Dbml\Adapter\INamedType.cs" />
- <Compile Include="Schema\Dbml\Adapter\ISimpleList.cs" />
- <Compile Include="Schema\Dbml\Adapter\SpecifiedPropertyUpdater.cs" />
- <Compile Include="Schema\WordsExtraction.cs" />
- <Compile Include="Schema\NameFormat.cs" />
- <Compile Include="Schema\AssociationName.cs" />
- <Compile Include="Schema\ColumnName.cs" />
- <Compile Include="Schema\ParameterName.cs" />
- <Compile Include="Schema\Dbml\DbmlSchema.Adapter.cs" />
- <Compile Include="Schema\Dbml\DbmlSchema.cs">
- <DependentUpon>DbmlSchema.xsd</DependentUpon>
- </Compile>
- <Compile Include="Schema\Dbml\DbmlSerializer.cs" />
- <Compile Include="Schema\ProcedureName.cs" />
- <Compile Include="Schema\Name.cs" />
- <Compile Include="Schema\SchemaName.cs" />
- <Compile Include="Schema\TableName.cs" />
- <Compile Include="System.Data.Linq\Assembly\AssemblyInfo.cs" />
- <Compile Include="System.Data.Linq\Binary.cs" />
- <Compile Include="System.Data.Linq\ChangeConflictCollection.cs" />
- <Compile Include="System.Data.Linq\ChangeConflictException.cs" />
- <Compile Include="System.Data.Linq\CompiledQuery.cs" />
- <Compile Include="System.Data.Linq\ConflictMode.cs" />
- <Compile Include="System.Data.Linq\DBConvert.cs" />
- <Compile Include="System.Data.Linq\DuplicateKeyException.cs" />
- <Compile Include="Data\Linq\EntityRef.cs" />
- <Compile Include="System.Data.Linq\ForeignKeyReferenceAlreadyHasValueException.cs" />
- <Compile Include="System.Data.Linq\IFunctionResult.cs" />
- <Compile Include="System.Data.Linq\IMultipleResults.cs" />
- <Compile Include="System.Data.Linq\ISingleResult.cs" />
- <Compile Include="System.Data.Linq\Link.cs" />
- <Compile Include="System.Data.Linq\MemberChangeConflict.cs" />
- <Compile Include="System.Data.Linq\ModifiedMemberInfo.cs" />
- <Compile Include="System.Data.Linq\ObjectChangeConflict.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\AssociationAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\AutoSync.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ColumnAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\DataAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\DatabaseAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\FunctionAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\InheritanceMappingAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MappingSource.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor_2.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaAssociation.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaDataMember.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaFunction.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaModel.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaParameter.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaTable.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaType.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ParameterAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ProviderAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ResultTypeAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\TableAttribute.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\UpdateCheck.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\XmlMappingSource.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient.Implementation\ObjectMaterializer.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\Sql2000Provider.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\Sql2005Provider.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\SqlHelpers.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\SqlMethods.cs" />
- <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\SqlProvider.cs" />
- <Compile Include="Util\ExpressionChainEqualityComparer.cs" />
- <Compile Include="Util\ExpressionEqualityComparer.cs" />
- <Compile Include="Util\IDataRecordExtensions.cs" />
- <Compile Include="Util\IDataTypeExtensions.cs" />
- <Compile Include="Language\ILanguages.cs" />
- <Compile Include="Language\ILanguageWords.cs" />
- <Compile Include="Util\IDbDataParameterExtensions.cs" />
- <Compile Include="Util\LambdaComparer.cs" />
- <Compile Include="Util\DataCommand.cs" />
- <Compile Include="Schema\INameFormatter.cs" />
- <Compile Include="Language\Implementation\AbstractEndPluralWords.cs" />
- <Compile Include="Language\Implementation\AbstractWords.cs" />
- <Compile Include="Language\Implementation\Languages.cs" />
- <Compile Include="Language\Implementation\NoLanguageWords.cs" />
- <Compile Include="Schema\Implementation\NameFormatter.cs" />
- <Compile Include="Util\MemberInfoExtensions.cs" />
- <Compile Include="Util\ReflectionExtensions.cs" />
- <Compile Include="Util\ReflectionUtility.cs" />
- <Compile Include="Util\StringExtensions.cs" />
- <Compile Include="Util\TextWriterExtension.cs" />
- <Compile Include="Util\TypeConvert.cs" />
- <Compile Include="Util\QuotesHelper.cs" />
- <Compile Include="Util\ReferenceEqualityComparer.cs" />
- <Compile Include="Util\Page.cs" />
- <Compile Include="Util\TypeExtensions.cs" />
- <Compile Include="Util\TypeLoader.cs" />
- <Compile Include="Vendor\IDataTableColumn.cs" />
- <Compile Include="Vendor\IDataName.cs" />
- <Compile Include="Vendor\IDataType.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.Name.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.Columns.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.DataTableColumn.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.DataName.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.ForeignKey.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.StoredProcedures.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.Tables.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.TypeMapping.cs" />
- <Compile Include="Vendor\Implementation\Vendor.ProcedureResult.cs" />
- <Compile Include="Vendor\INameAliases.cs" />
- <Compile Include="Vendor\ISchemaLoader.cs" />
- <Compile Include="Vendor\ISqlProvider.cs" />
- <Compile Include="Vendor\IVendor.cs" />
- <Compile Include="Vendor\Implementation\SchemaLoader.cs" />
- <Compile Include="Vendor\Implementation\Vendor.cs" />
- <Compile Include="Vendor\Implementation\SqlProvider.cs" />
- <Compile Include="..\DbLinq.SqlServer\SqlServerSqlProvider.cs">
- <Link>Vendors\DbLinq.SqlServer\SqlServerSqlProvider.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.SqlServer\SqlServerTypeConversions.cs">
- <Link>Vendors\DbLinq.SqlServer\SqlServerTypeConversions.cs</Link>
- </Compile>
- <Compile Include="..\DbLinq.SqlServer\SqlServerVendor.cs">
- <Link>Vendors\DbLinq.SqlServer\SqlServerVendor.cs</Link>
- </Compile>
- <Compile Include="Vendor\VendorAttribute.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="..\DbLinq.snk">
- <Link>Properties\DbLinq.snk</Link>
- </None>
- <None Include="Schema\Dbml\DbmlSchema.bat" />
- <None Include="Schema\Dbml\DbmlSchema.bat" />
- <None Include="System.Data.Linq\Assembly\ChangeLog" />
- <None Include="System.Data.Linq\ChangeLog" />
- <None Include="System.Data.Linq\Makefile" />
- <None Include="System.Data.Linq\System.Data.Linq.dll.sources" />
- <None Include="System.Data.Linq\System.Data.Linq.Mapping\ChangeLog" />
- <None Include="System.Data.Linq\System.Data.Linq.SqlClient.Implementation\ChangeLog" />
- <None Include="System.Data.Linq\System.Data.Linq.SqlClient\ChangeLog" />
- <EmbeddedResource Include="Schema\Dbml\DbmlSchema.xsd">
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <Content Include="Data\Linq\Sugar\Notes.txt" />
- <Content Include="Data\Linq\ReadMe.txt" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <PropertyGroup>
- <PreBuildEvent>
- </PreBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{97305421-3071-4175-AA3C-9A432CC28121}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>System</RootNamespace>\r
+ <AssemblyName>System.Data.Linq</AssemblyName>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <FileAlignment>512</FileAlignment>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyOriginatorKeyFile>..\DbLinq.snk</AssemblyOriginatorKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug - Mono Strict|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <OutputPath>..\..\build.dbg.mono\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>\r
+ <DebugType>full</DebugType>\r
+ <PlatformTarget>AnyCPU</PlatformTarget>\r
+ <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>\r
+ <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Configuration" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Xml" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="..\DbLinq.Firebird\FirebirdSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.FirebirdSql\FirebirdSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Firebird\FirebirdVendor.cs">\r
+ <Link>Vendors\DbLinq.FirebirdSql\FirebirdVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Ingres\IngresSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.Ingres\IngresSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Ingres\IngresVendor.cs">\r
+ <Link>Vendors\DbLinq.Ingres\IngresVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.MySql\MySqlSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.MySql\MySqlSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.MySql\MySqlVendor.cs">\r
+ <Link>Vendors\DbLinq.MySql\MySqlVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Oracle\OracleSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.Oracle\OracleSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Oracle\OracleVendor.cs">\r
+ <Link>Vendors\DbLinq.Oracle\OracleVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.PostgreSql\PgsqlSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.PostgreSql\PgsqlSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.PostgreSql\PgsqlVendor.cs">\r
+ <Link>Vendors\DbLinq.PostgreSql\PgsqlVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Sqlite\Schema\DataCommand.cs">\r
+ <Link>Vendors\DbLinq.Sqlite\DataCommand.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Sqlite\SqliteSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.Sqlite\SqliteSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.Sqlite\SqliteVendor.cs">\r
+ <Link>Vendors\DbLinq.Sqlite\SqliteVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="Data\Linq\ChangeAction.cs" />\r
+ <Compile Include="Data\Linq\ChangeSet.cs" />\r
+ <Compile Include="Data\Linq\Database\IDatabaseContext.cs" />\r
+ <Compile Include="Data\Linq\Database\IDatabaseTransaction.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\DatabaseConnection.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\DatabaseContext.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\DatabaseTransaction.cs" />\r
+ <Compile Include="Data\Linq\Database\Implementation\TransactionalCommand.cs" />\r
+ <Compile Include="Data\Linq\Database\ITransactionalCommand.cs" />\r
+ <Compile Include="Data\Linq\DataContext.cs" />\r
+ <Compile Include="Data\Linq\DataLoadOptions.cs" />\r
+ <Compile Include="Data\Linq\DBLinqExtendedAttributte.cs" />\r
+ <Compile Include="Data\Linq\EntitySet.cs" />\r
+ <Compile Include="Data\Linq\Identity\IdentityKey.cs" />\r
+ <Compile Include="Data\Linq\Identity\IIdentityProvider.cs" />\r
+ <Compile Include="Data\Linq\Identity\IIdentityReader.cs" />\r
+ <Compile Include="Data\Linq\Identity\IIdentityReaderFactory.cs" />\r
+ <Compile Include="Data\Linq\Identity\Implementation\IdentityProviderReader.cs" />\r
+ <Compile Include="Data\Linq\Identity\Implementation\IdentityReader.cs" />\r
+ <Compile Include="Data\Linq\Identity\Implementation\IdentityReaderFactory.cs" />\r
+ <Compile Include="Data\Linq\IExecuteResult.cs" />\r
+ <Compile Include="Data\Linq\IMemberModificationHandler.cs" />\r
+ <Compile Include="Data\Linq\Implementation\EntityState.cs" />\r
+ <Compile Include="Data\Linq\Implementation\EntityTrack.cs" />\r
+ <Compile Include="Data\Linq\Implementation\EntityTracker.cs" />\r
+ <Compile Include="Data\Linq\Implementation\MemberModificationHandler.cs" />\r
+ <Compile Include="Data\Linq\Implementation\QueryProvider.cs" />\r
+ <Compile Include="Data\Linq\Implementation\VendorProvider.cs" />\r
+ <Compile Include="Data\Linq\ITable.cs" />\r
+ <Compile Include="Data\Linq\IVendorProvider.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedAbstractMetaDataMember.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedAssociationMetaDataMember.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedColumnMetaDataMember.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaAssociation.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaFunction.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaModel.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaTable.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributedMetaType.cs" />\r
+ <Compile Include="Data\Linq\Mapping\AttributeMappingSource.cs" />\r
+ <Compile Include="Data\Linq\Mapping\MappingContext.cs" />\r
+ <Compile Include="Data\Linq\RefreshMode.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\FirebirdProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\IngresProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\MySqlProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\OracleProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\PostgreSqlProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\SqliteProvider.cs" />\r
+ <Compile Include="Data\Linq\SqlClient\SqlServerProvider.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlLiteralPart.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlParameterPart.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlPart.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlStatement.cs" />\r
+ <Compile Include="Data\Linq\Sql\SqlStatementBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\BuilderContext.cs" />\r
+ <Compile Include="Data\Linq\Sugar\DeleteQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\DirectQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Error.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionChain.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorExtensions.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorFactory.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\BinaryExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConditionalExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ConstantExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\IMemberBindingMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\InvocationExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\LambdaExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ListInitExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberAssignmentMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberBindingMutatorFactory.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberInitExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberListBindingMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MemberMemberBindingMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\MethodCallExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewArrayExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\ParameterExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\TypeBinaryExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionMutator\Implementation\UnaryExpressionMutator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionPrecedence.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\ColumnExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\EntitySetExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\ObjectInputParameterExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\ObjectOutputParameterExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\CustomExpressionType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\InputParameterExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\GroupExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\IExecutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\IMutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\MetaTableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\MutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\OperandsMutableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\OrderByExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SelectExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SelectOperatorType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\SpecialExpressionType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\StartIndexOffsetExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\TableExpression.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Expressions\TableJoinType.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ExpressionTier.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IDataMapper.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IDataRecordReader.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionDispatcher.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionLanguageParser.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionOptimizer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IExpressionQualifier.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\DataMapper.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\DataRecordReader.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionDispatcher.Registrar.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionLanguageParser.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\ExpressionQualifier.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.Upsert.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IQueryCache.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\LineGrouping.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\PrequelAnalyzer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryCache.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\QueryRunner.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\SpecialExpressionTranslator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\Implementation\SqlBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IPrequelAnalyzer.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IQueryBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\IQueryRunner.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ISpecialExpressionTranslator.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ISqlBuilder.cs" />\r
+ <Compile Include="Data\Linq\Sugar\AbstractQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\ParameterizedQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\SelectQuery.cs" />\r
+ <Compile Include="Data\Linq\Sugar\QueryContext.cs" />\r
+ <Compile Include="Data\Linq\Sugar\UpsertQuery.cs" />\r
+ <Compile Include="Data\Linq\Table.cs" />\r
+ <Compile Include="DbLinqToDoAttribute.cs" />\r
+ <Compile Include="Factory\DbLinqAttribute.cs" />\r
+ <Compile Include="Factory\Implementation\AbstractObjectFactory.cs" />\r
+ <Compile Include="Factory\Implementation\ReflectionObjectFactory.cs" />\r
+ <Compile Include="Factory\IObjectFactory.cs" />\r
+ <Compile Include="Factory\ObjectFactory.cs" />\r
+ <Compile Include="MonoTODOAttribute.cs" />\r
+ <Compile Include="Schema\Case.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\ArrayAdapter.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\CsvArrayAdapter.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\EnumType.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\INamedType.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\ISimpleList.cs" />\r
+ <Compile Include="Schema\Dbml\Adapter\SpecifiedPropertyUpdater.cs" />\r
+ <Compile Include="Schema\WordsExtraction.cs" />\r
+ <Compile Include="Schema\NameFormat.cs" />\r
+ <Compile Include="Schema\AssociationName.cs" />\r
+ <Compile Include="Schema\ColumnName.cs" />\r
+ <Compile Include="Schema\ParameterName.cs" />\r
+ <Compile Include="Schema\Dbml\DbmlSchema.Adapter.cs" />\r
+ <Compile Include="Schema\Dbml\DbmlSchema.cs">\r
+ <DependentUpon>DbmlSchema.xsd</DependentUpon>\r
+ </Compile>\r
+ <Compile Include="Schema\Dbml\DbmlSerializer.cs" />\r
+ <Compile Include="Schema\ProcedureName.cs" />\r
+ <Compile Include="Schema\Name.cs" />\r
+ <Compile Include="Schema\SchemaName.cs" />\r
+ <Compile Include="Schema\TableName.cs" />\r
+ <Compile Include="System.Data.Linq\Assembly\AssemblyInfo.cs" />\r
+ <Compile Include="System.Data.Linq\Binary.cs" />\r
+ <Compile Include="System.Data.Linq\ChangeConflictCollection.cs" />\r
+ <Compile Include="System.Data.Linq\ChangeConflictException.cs" />\r
+ <Compile Include="System.Data.Linq\CompiledQuery.cs" />\r
+ <Compile Include="System.Data.Linq\ConflictMode.cs" />\r
+ <Compile Include="System.Data.Linq\DBConvert.cs" />\r
+ <Compile Include="System.Data.Linq\DuplicateKeyException.cs" />\r
+ <Compile Include="Data\Linq\EntityRef.cs" />\r
+ <Compile Include="System.Data.Linq\ForeignKeyReferenceAlreadyHasValueException.cs" />\r
+ <Compile Include="System.Data.Linq\IFunctionResult.cs" />\r
+ <Compile Include="System.Data.Linq\IMultipleResults.cs" />\r
+ <Compile Include="System.Data.Linq\ISingleResult.cs" />\r
+ <Compile Include="System.Data.Linq\Link.cs" />\r
+ <Compile Include="System.Data.Linq\MemberChangeConflict.cs" />\r
+ <Compile Include="System.Data.Linq\ModifiedMemberInfo.cs" />\r
+ <Compile Include="System.Data.Linq\ObjectChangeConflict.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\AssociationAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\AutoSync.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ColumnAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\DataAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\DatabaseAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\FunctionAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\InheritanceMappingAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MappingSource.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor_2.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaAssociation.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaDataMember.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaFunction.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaModel.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaParameter.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaTable.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\MetaType.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ParameterAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ProviderAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\ResultTypeAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\TableAttribute.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\UpdateCheck.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.Mapping\XmlMappingSource.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient.Implementation\ObjectMaterializer.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\Sql2000Provider.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\Sql2005Provider.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\SqlHelpers.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\SqlMethods.cs" />\r
+ <Compile Include="System.Data.Linq\System.Data.Linq.SqlClient\SqlProvider.cs" />\r
+ <Compile Include="Util\ExpressionChainEqualityComparer.cs" />\r
+ <Compile Include="Util\ExpressionEqualityComparer.cs" />\r
+ <Compile Include="Util\IDataRecordExtensions.cs" />\r
+ <Compile Include="Util\IDataTypeExtensions.cs" />\r
+ <Compile Include="Language\ILanguages.cs" />\r
+ <Compile Include="Language\ILanguageWords.cs" />\r
+ <Compile Include="Util\IDbDataParameterExtensions.cs" />\r
+ <Compile Include="Util\LambdaComparer.cs" />\r
+ <Compile Include="Util\DataCommand.cs" />\r
+ <Compile Include="Schema\INameFormatter.cs" />\r
+ <Compile Include="Language\Implementation\AbstractEndPluralWords.cs" />\r
+ <Compile Include="Language\Implementation\AbstractWords.cs" />\r
+ <Compile Include="Language\Implementation\Languages.cs" />\r
+ <Compile Include="Language\Implementation\NoLanguageWords.cs" />\r
+ <Compile Include="Schema\Implementation\NameFormatter.cs" />\r
+ <Compile Include="Util\MemberInfoExtensions.cs" />\r
+ <Compile Include="Util\ReflectionExtensions.cs" />\r
+ <Compile Include="Util\ReflectionUtility.cs" />\r
+ <Compile Include="Util\StringExtensions.cs" />\r
+ <Compile Include="Util\TextWriterExtension.cs" />\r
+ <Compile Include="Util\TypeConvert.cs" />\r
+ <Compile Include="Util\QuotesHelper.cs" />\r
+ <Compile Include="Util\ReferenceEqualityComparer.cs" />\r
+ <Compile Include="Util\Page.cs" />\r
+ <Compile Include="Util\TypeExtensions.cs" />\r
+ <Compile Include="Util\TypeLoader.cs" />\r
+ <Compile Include="Vendor\IDataTableColumn.cs" />\r
+ <Compile Include="Vendor\IDataName.cs" />\r
+ <Compile Include="Vendor\IDataType.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.Name.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.Columns.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.DataTableColumn.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.DataName.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.ForeignKey.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.StoredProcedures.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.Tables.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.TypeMapping.cs" />\r
+ <Compile Include="Vendor\Implementation\Vendor.ProcedureResult.cs" />\r
+ <Compile Include="Vendor\INameAliases.cs" />\r
+ <Compile Include="Vendor\ISchemaLoader.cs" />\r
+ <Compile Include="Vendor\ISqlProvider.cs" />\r
+ <Compile Include="Vendor\IVendor.cs" />\r
+ <Compile Include="Vendor\Implementation\SchemaLoader.cs" />\r
+ <Compile Include="Vendor\Implementation\Vendor.cs" />\r
+ <Compile Include="Vendor\Implementation\SqlProvider.cs" />\r
+ <Compile Include="..\DbLinq.SqlServer\SqlServerSqlProvider.cs">\r
+ <Link>Vendors\DbLinq.SqlServer\SqlServerSqlProvider.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.SqlServer\SqlServerTypeConversions.cs">\r
+ <Link>Vendors\DbLinq.SqlServer\SqlServerTypeConversions.cs</Link>\r
+ </Compile>\r
+ <Compile Include="..\DbLinq.SqlServer\SqlServerVendor.cs">\r
+ <Link>Vendors\DbLinq.SqlServer\SqlServerVendor.cs</Link>\r
+ </Compile>\r
+ <Compile Include="Vendor\VendorAttribute.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\DbLinq.snk">\r
+ <Link>Properties\DbLinq.snk</Link>\r
+ </None>\r
+ <None Include="Schema\Dbml\DbmlSchema.bat" />\r
+ <None Include="Schema\Dbml\DbmlSchema.bat" />\r
+ <None Include="System.Data.Linq\Assembly\ChangeLog" />\r
+ <None Include="System.Data.Linq\ChangeLog" />\r
+ <None Include="System.Data.Linq\Makefile" />\r
+ <None Include="System.Data.Linq\System.Data.Linq.dll.sources" />\r
+ <None Include="System.Data.Linq\System.Data.Linq.Mapping\ChangeLog" />\r
+ <None Include="System.Data.Linq\System.Data.Linq.SqlClient.Implementation\ChangeLog" />\r
+ <None Include="System.Data.Linq\System.Data.Linq.SqlClient\ChangeLog" />\r
+ <EmbeddedResource Include="Schema\Dbml\DbmlSchema.xsd">\r
+ </EmbeddedResource>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Content Include="Data\Linq\Sugar\Notes.txt" />\r
+ <Content Include="Data\Linq\ReadMe.txt" />\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+ <PropertyGroup>\r
+ <PreBuildEvent>\r
+ </PreBuildEvent>\r
+ </PropertyGroup>\r
+</Project>\r
-//
-// SqlMethods.cs
-//
-// Author:
-// Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-
-namespace System.Data.Linq.SqlClient
-{
- public static class SqlMethods
- {
- static Exception NotSupported()
- {
- return new NotSupportedException("The method in SqlMethods type cannot be used directly. It is only for Linq to SQL trsnslation");
- }
-
- [MonoTODO]
- public static int DateDiffDay (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffDay (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffHour (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffHour (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMillisecond (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMillisecond (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMinute (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMinute (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMonth (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMonth (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffSecond (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffSecond (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffYear (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffYear (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- #region .NET 3.5 SP1 (DateTimeOffset)
-
- [MonoTODO]
- public static int DateDiffMicrosecond (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMicrosecond (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffNanosecond (DateTime startDate, DateTime endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffNanosecond (DateTime? startDate, DateTime? endDate)
- {
- throw NotSupported();
- }
-
-
- [MonoTODO]
- public static int DateDiffDay (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffDay (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffHour (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffHour (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMicrosecond (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMicrosecond (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMillisecond (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMillisecond (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMinute (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMinute (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffMonth (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffMonth (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffNanosecond (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffNanosecond (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffSecond (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffSecond (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int DateDiffYear (DateTimeOffset startDate, DateTimeOffset endDate)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static int? DateDiffYear (DateTimeOffset? startDate, DateTimeOffset? endDate)
- {
- throw NotSupported();
- }
- #endregion
-
- [MonoTODO]
- public static bool Like (string matchExpression, string pattern)
- {
- throw NotSupported();
- }
-
- [MonoTODO]
- public static bool Like (string matchExpression, string pattern, char escapeCharacter)
- {
- throw NotSupported();
- }
- }
-}
+//\r
+// SqlMethods.cs\r
+//\r
+// Author:\r
+// Atsushi Enomoto <atsushi@ximian.com>\r
+//\r
+// Copyright (C) 2008 Novell, Inc.\r
+//\r
+\r
+//\r
+// Permission is hereby granted, free of charge, to any person obtaining\r
+// a copy of this software and associated documentation files (the\r
+// "Software"), to deal in the Software without restriction, including\r
+// without limitation the rights to use, copy, modify, merge, publish,\r
+// distribute, sublicense, and/or sell copies of the Software, and to\r
+// permit persons to whom the Software is furnished to do so, subject to\r
+// the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be\r
+// included in all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+//\r
+using System;\r
+\r
+namespace System.Data.Linq.SqlClient\r
+{\r
+ public static class SqlMethods\r
+ {\r
+ static Exception NotSupported()\r
+ {\r
+ return new NotSupportedException("The method in SqlMethods type cannot be used directly. It is only for Linq to SQL trsnslation");\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffDay (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffDay (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffHour (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffHour (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMillisecond (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMillisecond (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMinute (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMinute (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMonth (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMonth (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffSecond (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffSecond (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffYear (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffYear (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ #region .NET 3.5 SP1 (DateTimeOffset)\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMicrosecond (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMicrosecond (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffNanosecond (DateTime startDate, DateTime endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffNanosecond (DateTime? startDate, DateTime? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffDay (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffDay (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffHour (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffHour (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMicrosecond (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMicrosecond (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMillisecond (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMillisecond (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMinute (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMinute (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffMonth (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffMonth (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffNanosecond (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffNanosecond (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffSecond (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffSecond (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int DateDiffYear (DateTimeOffset startDate, DateTimeOffset endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static int? DateDiffYear (DateTimeOffset? startDate, DateTimeOffset? endDate)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+ #endregion\r
+\r
+ [MonoTODO]\r
+ public static bool Like (string matchExpression, string pattern)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+\r
+ [MonoTODO]\r
+ public static bool Like (string matchExpression, string pattern, char escapeCharacter)\r
+ {\r
+ throw NotSupported();\r
+ }\r
+ }\r
+}\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System.Linq;\r
+using DbLinq.Schema.Dbml.Adapter;\r
+using DbLinq.Util;\r
+using Microsoft.VisualStudio.TestTools.UnitTesting;\r
+using NUnit.Framework;\r
+using Assert = NUnit.Framework.Assert;\r
+\r
+namespace DbLinqTest\r
+{\r
+ /// <summary>\r
+ /// Summary description for TypeContextTest\r
+ /// </summary>\r
+ [TestFixture]\r
+ [TestClass]\r
+ public class CsvArrayAdapterTest\r
+ {\r
+ public class CsvArray\r
+ {\r
+ public string S;\r
+ public ISimpleList<string> A;\r
+\r
+ public CsvArray()\r
+ {\r
+ A = new CsvArrayAdapter(this, "S");\r
+ }\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void ArrayTest()\r
+ {\r
+ var ca = new CsvArray { S = "a,b" };\r
+ var al = ca.A.ToArray();\r
+ Assert.AreEqual(2, al.Count());\r
+ Assert.AreEqual("a", al[0]);\r
+ Assert.AreEqual("b", al[1]);\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void WriteArrayTest()\r
+ {\r
+ var ca = new CsvArray { S = "a,b" };\r
+ ca.A.Add("c");\r
+ Assert.AreEqual("a,b,c", ca.S);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+using System.Data.Common;\r
+using System.Data.Linq.Mapping;\r
+using System.Linq;\r
+using System.IO;\r
+\r
+#if MONO_STRICT\r
+using System.Data.Linq;\r
+#else\r
+using DbLinq.Data.Linq;\r
+#endif\r
+\r
+using NUnit.Framework;\r
+\r
+using DbLinq.Null;\r
+\r
+namespace DbLinqTest {\r
+\r
+ class DummyConnection : IDbConnection\r
+ {\r
+ public DummyConnection()\r
+ {\r
+ ConnectionString = "";\r
+ }\r
+\r
+ public IDbTransaction BeginTransaction() {return null;}\r
+ public IDbTransaction BeginTransaction(IsolationLevel il) {return null;}\r
+ public void ChangeDatabase(string databaseName) {}\r
+ public void Close() {}\r
+ public IDbCommand CreateCommand() {return null;}\r
+ public string ConnectionString{get; set;}\r
+ public int ConnectionTimeout{get {return 0;}}\r
+ public string Database{get {return null;}}\r
+ public void Dispose() {}\r
+ public void Open() {}\r
+ public ConnectionState State{get {return ConnectionState.Closed;}}\r
+ }\r
+\r
+ [TestFixture]\r
+ public class DataContextTest\r
+ {\r
+ DataContext context;\r
+\r
+ [SetUp]\r
+ public void SetUp()\r
+ {\r
+ context = new DataContext(new NullConnection() { ConnectionString = "" });\r
+ }\r
+\r
+ [TearDown]\r
+ public void TearDown()\r
+ {\r
+ context = null;\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentNullException))]\r
+ public void Ctor_ConnectionStringNull()\r
+ {\r
+ string connectionString = null;\r
+ new DataContext(connectionString);\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentNullException))]\r
+ public void Ctor_ConnectionNull()\r
+ {\r
+ IDbConnection connection = null;\r
+ new DataContext(connection);\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(NullReferenceException))]\r
+ public void Ctor_ConnectionStringOfConnectionIsNull()\r
+ {\r
+ IDbConnection connection = new NullConnection() { ConnectionString = null };\r
+ new DataContext(connection);\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentException))]\r
+ public void Ctor_ConnectionString_DbLinqConnectionType_Empty()\r
+ {\r
+ new DataContext("DbLinqConnectionType=");\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentException))]\r
+ public void Ctor_ConnectionString_DbLinqConnectionType_Invalid()\r
+ {\r
+ new DataContext("DbLinqConnectionType=InvalidType, DoesNotExist");\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentException))]\r
+ public void Ctor_ConnectionString_DbLinqProvider_InvalidVendor()\r
+ {\r
+ new DataContext("DbLinqProvider=ThisVendorDoesNotExist");\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentException))]\r
+ public void Ctor_ConnectionString_DbLinqProvider_InvalidVendorWithDots()\r
+ {\r
+ new DataContext("DbLinqProvider=DbLinq.Sqlite.dll");\r
+ }\r
+\r
+ [Test]\r
+ public void Connection()\r
+ {\r
+ IDbConnection connection = new NullConnection() { ConnectionString = "" };\r
+ DataContext dc = new DataContext(connection);\r
+ Assert.AreEqual(connection, dc.Connection);\r
+\r
+#if !MONO_STRICT\r
+ dc = new DataContext (new DummyConnection());\r
+ Assert.AreEqual(null, dc.Connection);\r
+#endif\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentNullException))]\r
+ public void ExecuteQuery_ElementTypeNull()\r
+ {\r
+ Type elementType = null;\r
+ context.ExecuteQuery(elementType, "command");\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentNullException))]\r
+ public void ExecuteQuery_QueryNull()\r
+ {\r
+ Type elementType = typeof(Person);\r
+ context.ExecuteQuery(elementType, null);\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentNullException))]\r
+ public void ExecuteQueryTResult_QueryNull()\r
+ {\r
+ context.ExecuteQuery<Person>(null);\r
+ }\r
+\r
+ [Test, ExpectedException(typeof(ArgumentNullException))]\r
+ public void GetCommand_QueryNull()\r
+ {\r
+ IQueryable query = null;\r
+ context.GetCommand(query);\r
+ }\r
+ }\r
+}\r
+\r
--- /dev/null
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{9F424D05-5F16-4C01-8C17-14EF22FF2174}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>DbLinqTest</RootNamespace>\r
+ <AssemblyName>DbLinqTest</AssemblyName>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <FileAlignment>512</FileAlignment>\r
+ <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyOriginatorKeyFile>..\..\src\DbLinq.snk</AssemblyOriginatorKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />\r
+ <Reference Include="Microsoft.VisualStudio.TeamSystem.Data.UnitTesting, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />\r
+ <Reference Include="MySql.Data, Version=5.0.8.1, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\MySql.Data.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.2.9.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.configuration" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.DataSetExtensions">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Drawing" />\r
+ <Reference Include="System.Windows.Forms" />\r
+ <Reference Include="System.Xml" />\r
+ <Reference Include="System.Xml.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="ExpressionEqualityComparerTest.cs" />\r
+ <Compile Include="NameFormatterTest.cs" />\r
+ <Compile Include="CsvArrayAdapterTest.cs" />\r
+ <Compile Include="FrenchWordsTest.cs" />\r
+ <Compile Include="EnglishWordsTest.cs" />\r
+ <Compile Include="Properties\AssemblyInfo.cs" />\r
+ <Compile Include="IDataTypeExtensionsTest.cs" />\r
+ <Compile Include="TypeContextTest.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\..\DbMetal\DbMetal.csproj">\r
+ <Project>{363FF43D-C870-4423-BE50-DAED7793A6D1}</Project>\r
+ <Name>DbMetal</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq.snk">\r
+ <Link>Properties\DbLinq.snk</Link>\r
+ </None>\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+ Other similar extension points exist, see Microsoft.Common.targets.\r
+ <Target Name="BeforeBuild">\r
+ </Target>\r
+ <Target Name="AfterBuild">\r
+ </Target>\r
+ -->\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{408D1FEB-71F4-4666-ADAD-194616D99B94}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>DbLinq_test</RootNamespace>\r
+ <AssemblyName>DbLinq_test</AssemblyName>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <FileAlignment>512</FileAlignment>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyOriginatorKeyFile>..\..\DbLinq.snk</AssemblyOriginatorKeyFile>\r
+ <PublishUrl>publish\</PublishUrl>\r
+ <Install>true</Install>\r
+ <InstallFrom>Disk</InstallFrom>\r
+ <UpdateEnabled>false</UpdateEnabled>\r
+ <UpdateMode>Foreground</UpdateMode>\r
+ <UpdateInterval>7</UpdateInterval>\r
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>\r
+ <UpdatePeriodically>false</UpdatePeriodically>\r
+ <UpdateRequired>false</UpdateRequired>\r
+ <MapFileExtensions>true</MapFileExtensions>\r
+ <ApplicationRevision>0</ApplicationRevision>\r
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>\r
+ <IsWebBootstrapper>false</IsWebBootstrapper>\r
+ <UseApplicationTrust>false</UseApplicationTrust>\r
+ <BootstrapperEnabled>true</BootstrapperEnabled>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyKeyFile>..\..\DbLinq.snk</AssemblyKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="CsvArrayAdapterTest.cs" />\r
+ <Compile Include="DataContextTest.cs" />\r
+ <Compile Include="ExpressionEqualityComparerTest.cs" />\r
+ <Compile Include="IDataTypeExtensionsTest.cs" />\r
+ <Compile Include="NullProvider.cs">\r
+ <SubType>Component</SubType>\r
+ </Compile>\r
+ <Compile Include="PeopleTable.cs" />\r
+ <Compile Include="Providers\Internals\ReflectionTest.cs" />\r
+ <Compile Include="TypeContextTest.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="..\..\DbMetal\DbMetal.csproj">\r
+ <Project>{363FF43D-C870-4423-BE50-DAED7793A6D1}</Project>\r
+ <Name>DbMetal</Name>\r
+ </ProjectReference>\r
+ <ProjectReference Include="..\DbLinq.csproj">\r
+ <Project>{7950197D-4122-49CB-9FD7-45E666BAFEC2}</Project>\r
+ <Name>DbLinq</Name>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq.snk" />\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+ Other similar extension points exist, see Microsoft.Common.targets.\r
+ <Target Name="BeforeBuild">\r
+ </Target>\r
+ <Target Name="AfterBuild">\r
+ </Target>\r
+ -->\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <PropertyGroup>\r
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+ <ProductVersion>9.0.30729</ProductVersion>\r
+ <SchemaVersion>2.0</SchemaVersion>\r
+ <ProjectGuid>{AB60629C-6B19-4465-89AA-DBD7A0428F4B}</ProjectGuid>\r
+ <OutputType>Library</OutputType>\r
+ <AppDesignerFolder>Properties</AppDesignerFolder>\r
+ <RootNamespace>DbLinq_test_ndb</RootNamespace>\r
+ <AssemblyName>DbLinq_test_ndb_strict</AssemblyName>\r
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+ <FileAlignment>512</FileAlignment>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyOriginatorKeyFile>..\..\DbLinq.snk</AssemblyOriginatorKeyFile>\r
+ <PublishUrl>publish\</PublishUrl>\r
+ <Install>true</Install>\r
+ <InstallFrom>Disk</InstallFrom>\r
+ <UpdateEnabled>false</UpdateEnabled>\r
+ <UpdateMode>Foreground</UpdateMode>\r
+ <UpdateInterval>7</UpdateInterval>\r
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>\r
+ <UpdatePeriodically>false</UpdatePeriodically>\r
+ <UpdateRequired>false</UpdateRequired>\r
+ <MapFileExtensions>true</MapFileExtensions>\r
+ <ApplicationRevision>0</ApplicationRevision>\r
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>\r
+ <IsWebBootstrapper>false</IsWebBootstrapper>\r
+ <UseApplicationTrust>false</UseApplicationTrust>\r
+ <BootstrapperEnabled>true</BootstrapperEnabled>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+ <DebugSymbols>true</DebugSymbols>\r
+ <DebugType>full</DebugType>\r
+ <Optimize>false</Optimize>\r
+ <OutputPath>..\..\..\build.dbg\</OutputPath>\r
+ <DefineConstants>TRACE;DEBUG;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ <SignAssembly>true</SignAssembly>\r
+ <AssemblyKeyFile>..\..\DbLinq.snk</AssemblyKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+ <DebugType>pdbonly</DebugType>\r
+ <Optimize>true</Optimize>\r
+ <OutputPath>..\..\..\build\</OutputPath>\r
+ <DefineConstants>TRACE;MONO_STRICT</DefineConstants>\r
+ <ErrorReport>prompt</ErrorReport>\r
+ <WarningLevel>4</WarningLevel>\r
+ </PropertyGroup>\r
+ <ItemGroup>\r
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">\r
+ <Visible>False</Visible>\r
+ </BootstrapperPackage>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Compile Include="DataContextTest.cs" />\r
+ <Compile Include="NullProvider.cs">\r
+ <SubType>Component</SubType>\r
+ </Compile>\r
+ <Compile Include="PeopleTable.cs" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">\r
+ <SpecificVersion>False</SpecificVersion>\r
+ <HintPath>..\..\..\lib\nunit.framework.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="System" />\r
+ <Reference Include="System.Core">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ <Reference Include="System.Data" />\r
+ <Reference Include="System.Data.Linq">\r
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+ </Reference>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\DbLinq.snk" />\r
+ </ItemGroup>\r
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+ Other similar extension points exist, see Microsoft.Common.targets.\r
+ <Target Name="BeforeBuild">\r
+ </Target>\r
+ <Target Name="AfterBuild">\r
+ </Target>\r
+ -->\r
+</Project>
\ No newline at end of file
--- /dev/null
+using System.Collections.Generic;\r
+using System.Reflection;\r
+using DbLinq.Util;\r
+using Microsoft.VisualStudio.TestTools.UnitTesting;\r
+using System.Linq.Expressions;\r
+using NUnit.Framework;\r
+using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert;\r
+\r
+namespace DbLinqTest\r
+{\r
+ /// <summary>\r
+ ///This is a test class for ExpressionEqualityComparerTest and is intended\r
+ ///to contain all ExpressionEqualityComparerTest Unit Tests\r
+ ///</summary>\r
+ [TestClass, TestFixture]\r
+ public class ExpressionEqualityComparerTest\r
+ {\r
+ private readonly IEqualityComparer<Expression> equalityComparer = new ExpressionEqualityComparer();\r
+\r
+ private void CheckEquality(Expression a, Expression b)\r
+ {\r
+ Assert.AreEqual(equalityComparer.GetHashCode(a), equalityComparer.GetHashCode(b));\r
+ Assert.IsTrue(equalityComparer.Equals(a, b));\r
+ }\r
+\r
+ private void CheckInequality(Expression a, Expression b)\r
+ {\r
+ Assert.IsFalse(equalityComparer.Equals(a, b));\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Equality1Test()\r
+ {\r
+ CheckEquality(Expression.Add(Expression.Constant(1), Expression.Constant(2)),\r
+ Expression.Add(Expression.Constant(1), Expression.Constant(2)));\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Inequality1Test()\r
+ {\r
+ CheckInequality(Expression.Add(Expression.Constant(1), Expression.Constant(2)),\r
+ Expression.Add(Expression.Constant(1), Expression.Constant(3)));\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Equality2Test()\r
+ {\r
+ CheckEquality(Expression.Condition(Expression.Constant(true), Expression.Constant(1), Expression.Constant(2)),\r
+ Expression.Condition(Expression.Constant(true), Expression.Constant(1), Expression.Constant(2)));\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Equality3Test()\r
+ {\r
+ CheckEquality(Expression.Constant(1), Expression.Constant(1));\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Equality4Test()\r
+ {\r
+ CheckEquality(Expression.Constant("1"), Expression.Constant("1"));\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Inequality4Test()\r
+ {\r
+ CheckInequality(Expression.Constant(1), Expression.Constant("1"));\r
+ }\r
+ [TestMethod, Test]\r
+ public void Inequality5Test()\r
+ {\r
+ CheckInequality(Expression.Constant(1), null);\r
+ }\r
+ [TestMethod, Test]\r
+ public void Inequality6Test()\r
+ {\r
+ CheckInequality(null, Expression.Constant("1"));\r
+ }\r
+ [TestMethod, Test]\r
+ public void Inequality7Test()\r
+ {\r
+ CheckInequality(Expression.Constant(1), Expression.Negate(Expression.Constant(1)));\r
+ }\r
+ static int F()\r
+ {\r
+ return 1;\r
+ }\r
+\r
+ static int G()\r
+ {\r
+ return 1;\r
+ }\r
+\r
+ //[TestMethod, Test]\r
+ //public void Equality8Test()\r
+ //{\r
+ // CheckEquality(\r
+ // Expression.Invoke(Expression.Call(GetType().GetMethod("F", BindingFlags.NonPublic | BindingFlags.Static))),\r
+ // Expression.Invoke(Expression.Call(GetType().GetMethod("F", BindingFlags.NonPublic | BindingFlags.Static)))\r
+ // );\r
+ //}\r
+\r
+ //[TestMethod, Test]\r
+ //public void Inequality8Test()\r
+ //{\r
+ // CheckInequality(\r
+ // Expression.Invoke(Expression.Call(GetType().GetMethod("F", BindingFlags.NonPublic | BindingFlags.Static))),\r
+ // Expression.Invoke(Expression.Call(GetType().GetMethod("G", BindingFlags.NonPublic | BindingFlags.Static)))\r
+ // );\r
+ //}\r
+ [TestMethod, Test]\r
+ public void Equality9Test()\r
+ {\r
+ CheckEquality(\r
+ Expression.Call(GetType().GetMethod("F", BindingFlags.NonPublic | BindingFlags.Static)),\r
+ Expression.Call(GetType().GetMethod("F", BindingFlags.NonPublic | BindingFlags.Static))\r
+ );\r
+ }\r
+\r
+ [TestMethod, Test]\r
+ public void Inequality9Test()\r
+ {\r
+ CheckInequality(\r
+ Expression.Call(GetType().GetMethod("F", BindingFlags.NonPublic | BindingFlags.Static)),\r
+ Expression.Call(GetType().GetMethod("G", BindingFlags.NonPublic | BindingFlags.Static))\r
+ );\r
+ }\r
+\r
+ // TODO: finish tests, lazy boy\r
+ }\r
+}\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System.Collections.Generic;\r
+using DbLinq.Schema;\r
+using DbLinq.Schema.Dbml;\r
+using DbLinq.Util;\r
+using DbLinq.Vendor;\r
+using DbLinq.Vendor.Implementation;\r
+using Microsoft.VisualStudio.TestTools.UnitTesting;\r
+\r
+namespace DbLinqTest\r
+{\r
+ /// <summary>\r
+ ///This is a test class for SchemaLoaderTest and is intended\r
+ ///to contain all SchemaLoaderTest Unit Tests\r
+ ///</summary>\r
+ [TestClass()]\r
+ public class IDataTypeExtensionsTest\r
+ {\r
+\r
+ /// <summary>\r
+ ///A test for UnpackDbType\r
+ ///</summary>\r
+ [TestMethod()]\r
+ public void UnpackDbType1Test()\r
+ {\r
+ string rawType = "int";\r
+ IDataType dataType = new SchemaLoader.DataType();\r
+ dataType.UnpackRawDbType(rawType);\r
+ Assert.AreEqual("int", dataType.Type);\r
+ Assert.AreEqual(null, dataType.Length);\r
+ Assert.AreEqual(null, dataType.Precision);\r
+ Assert.AreEqual(null, dataType.Scale);\r
+ //Assert.AreEqual(null, dataType.Unsigned); // irrelevant\r
+ }\r
+\r
+ /// <summary>\r
+ ///A test for UnpackDbType\r
+ ///</summary>\r
+ [TestMethod()]\r
+ public void UnpackDbType2Test()\r
+ {\r
+ string rawType = "int(12)";\r
+ IDataType dataType = new SchemaLoader.DataType();\r
+ dataType.UnpackRawDbType(rawType);\r
+ Assert.AreEqual("int", dataType.Type);\r
+ Assert.AreEqual(12, dataType.Length);\r
+ Assert.AreEqual(12, dataType.Precision);\r
+ Assert.AreEqual(null, dataType.Scale);\r
+ //Assert.AreEqual(null, dataType.Unsigned); // irrelevant\r
+ }\r
+\r
+ /// <summary>\r
+ ///A test for UnpackDbType\r
+ ///</summary>\r
+ [TestMethod()]\r
+ public void UnpackDbType3Test()\r
+ {\r
+ string rawType = "number(15,5)";\r
+ IDataType dataType = new SchemaLoader.DataType();\r
+ dataType.UnpackRawDbType(rawType);\r
+ Assert.AreEqual("number", dataType.Type);\r
+ Assert.AreEqual(15, dataType.Length);\r
+ Assert.AreEqual(15, dataType.Precision);\r
+ Assert.AreEqual(5, dataType.Scale);\r
+ Assert.AreEqual(false, dataType.Unsigned);\r
+ }\r
+\r
+ /// <summary>\r
+ ///A test for UnpackDbType\r
+ ///</summary>\r
+ [TestMethod()]\r
+ public void UnpackDbType4Test()\r
+ {\r
+ string rawType = "type()";\r
+ IDataType dataType = new SchemaLoader.DataType();\r
+ dataType.UnpackRawDbType(rawType);\r
+ Assert.AreEqual("type", dataType.Type);\r
+ Assert.AreEqual(null, dataType.Length);\r
+ Assert.AreEqual(null, dataType.Precision);\r
+ Assert.AreEqual(null, dataType.Scale);\r
+ }\r
+\r
+ /// <summary>\r
+ ///A test for UnpackDbType\r
+ ///</summary>\r
+ [TestMethod()]\r
+ public void UnpackDbType5Test()\r
+ {\r
+ string rawType = "smallint unsigned";\r
+ IDataType dataType = new SchemaLoader.DataType();\r
+ dataType.UnpackRawDbType(rawType);\r
+ Assert.AreEqual("smallint", dataType.Type);\r
+ Assert.AreEqual(null, dataType.Length);\r
+ Assert.AreEqual(null, dataType.Precision);\r
+ Assert.AreEqual(null, dataType.Scale);\r
+ Assert.AreEqual(true, dataType.Unsigned);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System.Globalization;\r
+using DbLinq;\r
+using DbLinq.Schema;\r
+using DbLinq.Schema.Implementation;\r
+using DbLinq.Util;\r
+using DbMetal;\r
+using Microsoft.VisualStudio.TestTools.UnitTesting;\r
+using NUnit.Framework;\r
+using Assert = NUnit.Framework.Assert;\r
+using Case = DbLinq.Schema.Case;\r
+using WordsExtraction = DbLinq.Schema.WordsExtraction;\r
+\r
+namespace DbLinqTest\r
+{\r
+ /// <summary>\r
+ /// Test for NameFormatter\r
+ /// </summary>\r
+ [TestFixture]\r
+ [TestClass]\r
+ public class NameFormatterTest\r
+ {\r
+ private NameFormat InvariantNameFormat\r
+ {\r
+ get\r
+ {\r
+ return new NameFormat(false, Case.PascalCase, CultureInfo.InvariantCulture);\r
+ }\r
+ }\r
+\r
+ private NameFormat EnglishNameFormat\r
+ {\r
+ get\r
+ {\r
+ Reference.DbLinqLocalizations();\r
+ return new NameFormat(false, Case.PascalCase, new CultureInfo("en-us"));\r
+ }\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void InvalidCharactersCaseTest()\r
+ {\r
+ var nf = new NameFormatter();\r
+ var tn = nf.GetTableName("A#?", WordsExtraction.FromCase, InvariantNameFormat);\r
+ Assert.AreEqual("A__", tn.ClassName);\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void InvalidCharactersLanguageTest()\r
+ {\r
+ var nf = new NameFormatter();\r
+ var tn = nf.GetTableName("A#?", WordsExtraction.FromDictionary, InvariantNameFormat);\r
+ Assert.AreEqual("A__", tn.ClassName);\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void InvalidCharactersLanguage2Test()\r
+ {\r
+ var nf = new NameFormatter();\r
+ var tn = nf.GetTableName("Test#?", WordsExtraction.FromDictionary, EnglishNameFormat);\r
+ Assert.AreEqual("Test__", tn.ClassName);\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void GetWordsTest_MyTableName()\r
+ {\r
+ var nf = new NameFormatter();\r
+ var tn = nf.GetTableName("MY_TABLE_NAME_", WordsExtraction.FromDictionary, EnglishNameFormat);\r
+ Assert.AreEqual("MyTableName", tn.ClassName);\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void GetWordsTest_MyTableName2()\r
+ {\r
+ var nf = new NameFormatter();\r
+ var tn = nf.GetTableName("_MY_TABLE__NAME", WordsExtraction.FromDictionary, EnglishNameFormat);\r
+ Assert.AreEqual("MyTableName", tn.ClassName);\r
+ }\r
+\r
+ }\r
+}\r
--- /dev/null
+#region MIT license
+//
+// MIT license
+//
+// Copyright (c) 2009 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+#endregion
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.Common;
+using System.Data.Linq;
+using System.Linq;
+
+namespace DbLinq.Null {
+
+ class NullConnection : DbConnection
+ {
+ public NullConnection ()
+ {
+ }
+
+ public override string ConnectionString {get; set;}
+ public override string Database {get {return "NullDatabase";}}
+ public override string DataSource {get {return "NullDataSource";}}
+ public override string ServerVersion {get {return "0.0";}}
+ public override ConnectionState State {get {return ConnectionState.Closed;}}
+
+ public override void ChangeDatabase (string databaseName)
+ {
+ throw new NotSupportedException ();
+ }
+
+ public override void Close ()
+ {
+ }
+
+ public override void Open ()
+ {
+ }
+
+ protected override DbTransaction BeginDbTransaction (IsolationLevel level)
+ {
+ throw new NotSupportedException ();
+ }
+
+ protected override DbCommand CreateDbCommand ()
+ {
+ return new NullCommand ();
+ }
+ }
+
+ class NullParameter : DbParameter
+ {
+ public override DbType DbType {get; set;}
+ public override ParameterDirection Direction {get; set;}
+ public override bool IsNullable {get; set;}
+ public override string ParameterName {get; set;}
+ public override int Size {get; set;}
+ public override string SourceColumn {get; set;}
+ public override bool SourceColumnNullMapping {get; set;}
+ public override DataRowVersion SourceVersion {get; set;}
+ public override object Value {get; set;}
+
+ public override void ResetDbType ()
+ {
+ throw new NotSupportedException ();
+ }
+ }
+
+ class DbParameterCollection<TParameter> : DbParameterCollection
+ where TParameter : DbParameter
+ {
+ List<TParameter> parameters = new List<TParameter> ();
+
+ public DbParameterCollection ()
+ {
+ }
+
+ public override int Count {get {return parameters.Count;}}
+ public override bool IsFixedSize {get {return false;}}
+ public override bool IsReadOnly {get {return false;}}
+ public override bool IsSynchronized {get {return false;}}
+ public override object SyncRoot {get {return parameters;}}
+
+ public override int Add (object value)
+ {
+ if (!(value is TParameter))
+ throw new ArgumentException ("wrong type", "value");
+ parameters.Add ((TParameter) value);
+ return parameters.Count-1;
+ }
+
+ public override void AddRange (Array values)
+ {
+ foreach (TParameter p in values)
+ Add (p);
+ }
+
+ public override void Clear ()
+ {
+ parameters.Clear ();
+ }
+
+ public override bool Contains (object value)
+ {
+ return parameters.Contains ((TParameter) value);
+ }
+
+ public override bool Contains (string value)
+ {
+ return parameters.Any (p => p.ParameterName == value);
+ }
+
+ public override void CopyTo (Array array, int index)
+ {
+ ((ICollection) parameters).CopyTo (array, index);
+ }
+
+ public override IEnumerator GetEnumerator ()
+ {
+ return parameters.GetEnumerator ();
+ }
+
+ public override int IndexOf (object value)
+ {
+ return parameters.IndexOf ((TParameter) value);
+ }
+
+ public override int IndexOf (string value)
+ {
+ for (int i = 0; i < parameters.Count; ++i)
+ if (parameters [i].ParameterName == value)
+ return i;
+ return -1;
+ }
+
+ public override void Insert (int index, object value)
+ {
+ parameters.Insert (index, (TParameter) value);
+ }
+
+ public override void Remove (object value)
+ {
+ parameters.Remove ((TParameter) value);
+ }
+
+ public override void RemoveAt (int index)
+ {
+ parameters.RemoveAt (index);
+ }
+
+ public override void RemoveAt (string value)
+ {
+ int idx = IndexOf (value);
+ if (idx >= 0)
+ parameters.RemoveAt (idx);
+ }
+
+ protected override DbParameter GetParameter (int index)
+ {
+ return parameters [index];
+ }
+
+ protected override DbParameter GetParameter (string value)
+ {
+ return parameters.Where (p => p.ParameterName == value)
+ .FirstOrDefault ();
+ }
+
+ protected override void SetParameter (int index, DbParameter value)
+ {
+ parameters [index] = (TParameter) value;
+ }
+
+ protected override void SetParameter (string index, DbParameter value)
+ {
+ parameters [IndexOf (value)] = (TParameter) value;
+ }
+ }
+
+ class NullCommand : DbCommand
+ {
+ DbParameterCollection<NullParameter> parameters = new DbParameterCollection<NullParameter> ();
+
+ public NullCommand ()
+ {
+ }
+
+ public override string CommandText { get; set; }
+ public override int CommandTimeout { get; set; }
+ public override CommandType CommandType { get; set; }
+ public override bool DesignTimeVisible { get; set; }
+ public override UpdateRowSource UpdatedRowSource { get; set; }
+
+ protected override DbConnection DbConnection { get; set; }
+ protected override DbParameterCollection DbParameterCollection {get {return parameters;}}
+ protected override DbTransaction DbTransaction { get; set; }
+
+ public override void Cancel ()
+ {
+ }
+
+ public override int ExecuteNonQuery ()
+ {
+ throw new NotSupportedException ();
+ }
+
+ public override object ExecuteScalar ()
+ {
+ throw new NotSupportedException ();
+ }
+
+ public override void Prepare ()
+ {
+ }
+
+ protected override DbParameter CreateDbParameter ()
+ {
+ return new NullParameter ();
+ }
+
+ protected override DbDataReader ExecuteDbDataReader (CommandBehavior behavior)
+ {
+ throw new NotSupportedException ();
+ }
+ }
+}
+
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2009 Novell, Inc.\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Data;\r
+using System.Data.Common;\r
+// using System.Data.Linq;\r
+using System.Data.Linq.Mapping;\r
+using System.Linq;\r
+using System.IO;\r
+\r
+#if MONO_STRICT\r
+using System.Data.Linq;\r
+#else\r
+using DbLinq.Data.Linq;\r
+#endif\r
+\r
+using NUnit.Framework;\r
+\r
+using DbLinq.Null;\r
+\r
+namespace DbLinqTest {\r
+\r
+ [Table(Name="people")]\r
+ class BadPerson\r
+ {\r
+ public string FirstName {get; set;}\r
+ public string LastName {get; set;}\r
+ }\r
+\r
+ [Table(Name="people")]\r
+ class Person\r
+ {\r
+ [Column(Name="first_name")]\r
+ public string FirstName {get; set;}\r
+ [Column(Name="last_name")]\r
+ public string LastName {get; set;}\r
+ }\r
+}\r
+\r
--- /dev/null
+using System.Reflection;\r
+using System.Runtime.CompilerServices;\r
+using System.Runtime.InteropServices;\r
+\r
+// General Information about an assembly is controlled through the following \r
+// set of attributes. Change these attribute values to modify the information\r
+// associated with an assembly.\r
+[assembly: AssemblyTitle("DbLinqTest")]\r
+[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyConfiguration("")]\r
+[assembly: AssemblyCompany("")]\r
+[assembly: AssemblyProduct("DbLinqTest")]\r
+[assembly: AssemblyCopyright("Copyright © 2008")]\r
+[assembly: AssemblyTrademark("")]\r
+[assembly: AssemblyCulture("")]\r
+\r
+// Setting ComVisible to false makes the types in this assembly not visible \r
+// to COM componenets. If you need to access a type in this assembly from \r
+// COM, set the ComVisible attribute to true on that type.\r
+[assembly: ComVisible(false)]\r
+\r
+// The following GUID is for the ID of the typelib if this project is exposed to COM\r
+[assembly: Guid("52112670-1196-4229-ae51-535cf23869cb")]\r
+\r
+// Version information for an assembly consists of the following four values:\r
+//\r
+// Major Version\r
+// Minor Version \r
+// Build Number\r
+// Revision\r
+//\r
+// You can specify all the values or you can default the Revision and Build Numbers \r
+// by using the '*' as shown below:\r
+[assembly: AssemblyVersion("1.0.0.0")]\r
+[assembly: AssemblyFileVersion("1.0.0.0")]\r
--- /dev/null
+DbLinq.dll\r
+Desktop\r
--- /dev/null
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System.Globalization;\r
+using DbLinq.Schema;\r
+using DbLinq.Schema.Implementation;\r
+using DbLinq.Util;\r
+using Microsoft.VisualStudio.TestTools.UnitTesting;\r
+using NUnit.Framework;\r
+using Assert = NUnit.Framework.Assert;\r
+\r
+namespace DbLinqTest\r
+{\r
+ /// <summary>\r
+ /// Summary description for TypeContextTest\r
+ /// </summary>\r
+ [TestFixture]\r
+ [TestClass]\r
+ public class TypeContextTest\r
+ {\r
+ public enum SomeEnum\r
+ {\r
+ A = 1,\r
+ B = 2,\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void ToEnumTest1()\r
+ {\r
+ var e = TypeConvert.ToEnum<SomeEnum>("B");\r
+ Assert.AreEqual(SomeEnum.B, e);\r
+ }\r
+\r
+ [TestMethod]\r
+ [Test]\r
+ public void ToEnumTest2()\r
+ {\r
+ var e = TypeConvert.ToEnum<SomeEnum>(2);\r
+ Assert.AreEqual(SomeEnum.B, e);\r
+ }\r
+ }\r
+}\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System.Collections.Generic;
-using System.Linq.Expressions;
-#if MONO_STRICT
-using System.Data.Linq.Sugar;
-#else
-using DbLinq.Data.Linq.Sugar;
-#endif
-
-
-namespace DbLinq.Util
-{
- /// <summary>
- /// Provides IEqualityComparer for ExpressionChain class
- /// </summary>
- internal class ExpressionChainEqualityComparer : IEqualityComparer<ExpressionChain>
- {
- private readonly IEqualityComparer<Expression> expressionComparer = new ExpressionEqualityComparer();
-
- /// <summary>
- /// Determines whether the specified objects are equal.
- /// </summary>
- /// <param name="x">The first object of type <paramref name="T"/> to compare.</param>
- /// <param name="y">The second object of type <paramref name="T"/> to compare.</param>
- /// <returns>
- /// true if the specified objects are equal; otherwise, false.
- /// </returns>
- public bool Equals(ExpressionChain x, ExpressionChain y)
- {
- // if not same count, expression chains are different
- if (x.Expressions.Count != y.Expressions.Count)
- return false;
-
- for (int index = 0; index < x.Expressions.Count; index++)
- {
- if (!expressionComparer.Equals(x.Expressions[index], y.Expressions[index]))
- return false;
- }
-
- return true;
- }
-
- /// <summary>
- /// Returns a hash code for the specified object.
- /// </summary>
- /// <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param>
- /// <returns>A hash code for the specified object.</returns>
- public int GetHashCode(ExpressionChain obj)
- {
- int hash = 0;
- foreach (var expression in obj.Expressions)
- {
- hash <<= 3;
- hash ^= expressionComparer.GetHashCode(expression);
- }
- return hash;
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System.Collections.Generic;\r
+using System.Linq.Expressions;\r
+#if MONO_STRICT\r
+using System.Data.Linq.Sugar;\r
+#else\r
+using DbLinq.Data.Linq.Sugar;\r
+#endif\r
+\r
+\r
+namespace DbLinq.Util\r
+{\r
+ /// <summary>\r
+ /// Provides IEqualityComparer for ExpressionChain class\r
+ /// </summary>\r
+ internal class ExpressionChainEqualityComparer : IEqualityComparer<ExpressionChain>\r
+ {\r
+ private readonly IEqualityComparer<Expression> expressionComparer = new ExpressionEqualityComparer();\r
+\r
+ /// <summary>\r
+ /// Determines whether the specified objects are equal.\r
+ /// </summary>\r
+ /// <param name="x">The first object of type <paramref name="T"/> to compare.</param>\r
+ /// <param name="y">The second object of type <paramref name="T"/> to compare.</param>\r
+ /// <returns>\r
+ /// true if the specified objects are equal; otherwise, false.\r
+ /// </returns>\r
+ public bool Equals(ExpressionChain x, ExpressionChain y)\r
+ {\r
+ // if not same count, expression chains are different\r
+ if (x.Expressions.Count != y.Expressions.Count)\r
+ return false;\r
+\r
+ for (int index = 0; index < x.Expressions.Count; index++)\r
+ {\r
+ if (!expressionComparer.Equals(x.Expressions[index], y.Expressions[index]))\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Returns a hash code for the specified object.\r
+ /// </summary>\r
+ /// <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param>\r
+ /// <returns>A hash code for the specified object.</returns>\r
+ public int GetHashCode(ExpressionChain obj)\r
+ {\r
+ int hash = 0;\r
+ foreach (var expression in obj.Expressions)\r
+ {\r
+ hash <<= 3;\r
+ hash ^= expressionComparer.GetHashCode(expression);\r
+ }\r
+ return hash;\r
+ }\r
+ }\r
+}\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq.Expressions;
-#if MONO_STRICT
-using System.Data.Linq.Implementation;
-#else
-using DbLinq.Data.Linq.Implementation;
-#endif
-
-namespace DbLinq.Util
-{
- /// <summary>
- /// IEqualityComparer implementation for Expression
- /// </summary>
- internal class ExpressionEqualityComparer : IEqualityComparer<Expression>
- {
- /// <summary>
- /// Determines whether the specified objects are equal.
- /// </summary>
- /// <param name="x">The first object of type <paramref name="T"/> to compare.</param>
- /// <param name="y">The second object of type <paramref name="T"/> to compare.</param>
- /// <returns>
- /// true if the specified objects are equal; otherwise, false.
- /// </returns>
- public bool Equals(Expression x, Expression y)
- {
- // both nulls? comparison is OK
- if (x == null && y == null)
- return true;
-
- if (x == null && y != null)
- return false;
-
- if (x != null && y == null)
- return false;
-
- // first thing: check types
- if (x.GetType() != y.GetType())
- return false;
-
- // then check node types
- if (x.NodeType != y.NodeType)
- return false;
-
- // finally, check expression types
- if (x.Type != y.Type)
- return false;
-
- // then for each expression subtype, check members
- if (x is BinaryExpression)
- return Equals2((BinaryExpression)x, (BinaryExpression)y);
- if (x is ConditionalExpression)
- return Equals2((ConditionalExpression)x, (ConditionalExpression)y);
- if (x is ConstantExpression)
- return Equals2((ConstantExpression)x, (ConstantExpression)y);
- if (x is InvocationExpression)
- return Equals2((InvocationExpression)x, (InvocationExpression)y);
- if (x is LambdaExpression)
- return Equals2((LambdaExpression)x, (LambdaExpression)y);
- if (x is ListInitExpression)
- return Equals2((ListInitExpression)x, (ListInitExpression)y);
- if (x is MemberExpression)
- return Equals2((MemberExpression)x, (MemberExpression)y);
- if (x is MemberInitExpression)
- return Equals2((MemberInitExpression)x, (MemberInitExpression)y);
- if (x is MethodCallExpression)
- return Equals2((MethodCallExpression)x, (MethodCallExpression)y);
- if (x is NewArrayExpression)
- return Equals2((NewArrayExpression)x, (NewArrayExpression)y);
- if (x is NewExpression)
- return Equals2((NewExpression)x, (NewExpression)y);
- if (x is ParameterExpression)
- return Equals2((ParameterExpression)x, (ParameterExpression)y);
- if (x is TypeBinaryExpression)
- return Equals2((TypeBinaryExpression)x, (TypeBinaryExpression)y);
- if (x is UnaryExpression)
- return Equals2((UnaryExpression)x, (UnaryExpression)y);
- throw new ArgumentException(string.Format("Unknown Expression type ({0})", x.GetType()));
- }
-
- private bool Equals2(BinaryExpression x, BinaryExpression y)
- {
- if (x.IsLifted != y.IsLifted)
- return false;
-
- if (x.IsLiftedToNull != y.IsLiftedToNull)
- return false;
-
- if (x.Method != y.Method)
- return false;
-
- if (!Equals(x.Conversion, y.Conversion))
- return false;
-
- if (!Equals(x.Left, y.Left))
- return false;
-
- if (!Equals(x.Right, y.Right))
- return false;
-
- return true;
- }
-
- private bool Equals2(ConditionalExpression x, ConditionalExpression y)
- {
- if (!Equals(x.Test, y.Test))
- return false;
-
- if (!Equals(x.IfTrue, y.IfTrue))
- return false;
-
- if (!Equals(x.IfFalse, y.IfFalse))
- return false;
-
- return true;
- }
-
- /// <summary>
- /// Objects comparer, with special hints
- /// </summary>
- /// <param name="x"></param>
- /// <param name="y"></param>
- /// <returns></returns>
- private bool ObjectsEquals(object x, object y)
- {
- if (x == null && y == null)
- return true;
-
- if (x != null && y == null)
- return false;
- if (x == null && y != null)
- return false;
-
- if (x.GetType() != y.GetType())
- return false;
-
- if (x is Expression)
- return Equals((Expression)x, (Expression)y);
-
- if (x is QueryProvider)
- return new ExpressionChainEqualityComparer().Equals(((QueryProvider)x).ExpressionChain, ((QueryProvider)y).ExpressionChain);
-
- return Equals(x, y);
- }
-
- private bool Equals2(ConstantExpression x, ConstantExpression y)
- {
- return ObjectsEquals(x.Value, y.Value);
- }
-
- /// <summary>
- /// Determines if the two lists contain indentical data.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="xs">The xs.</param>
- /// <param name="ys">The ys.</param>
- /// <param name="equals2">The equals2.</param>
- /// <returns></returns>
- private bool Equals2<T>(IList<T> xs, IList<T> ys, Func<T, T, bool> equals2)
- {
- if (xs.Count != ys.Count)
- return false;
-
- for (int index = 0; index < xs.Count; index++)
- {
- if (!equals2(xs[index], ys[index]))
- return false;
- }
- return true;
- }
-
- private bool Equals2(InvocationExpression x, InvocationExpression y)
- {
- if (!Equals(x.Expression, y.Expression))
- return false;
-
- if (!Equals2(x.Arguments, y.Arguments))
- return false;
-
- return true;
- }
-
- private bool Equals2(LambdaExpression x, LambdaExpression y)
- {
- if (!Equals(x.Body, y.Body))
- return false;
-
- if (!Equals2(x.Parameters, y.Parameters, Equals2))
- return false;
-
- return true;
- }
-
- private bool Equals2(ListInitExpression x, ListInitExpression y)
- {
- if (!Equals(x.NewExpression, y.NewExpression))
- return false;
-
- if (!Equals(x.Initializers, y.Initializers))
- return false;
-
- return true;
- }
-
- private bool Equals2(ElementInit x, ElementInit y)
- {
- if (x.AddMethod != y.AddMethod)
- return false;
-
- if (!Equals2(x.Arguments, y.Arguments))
- return false;
-
- return true;
- }
-
- private bool Equals2(MemberExpression x, MemberExpression y)
- {
- if (x.Member != y.Member)
- return false;
-
- if (!Equals(x.Expression, y.Expression))
- return false;
-
- return true;
- }
-
- private bool Equals2(MemberInitExpression x, MemberInitExpression y)
- {
- if (!Equals(x.NewExpression, y.NewExpression))
- return false;
-
- if (!Equals2(x.Bindings, y.Bindings))
- return false;
-
- return true;
- }
-
- private bool Equals2(IList<MemberBinding> xs, IList<MemberBinding> ys)
- {
- return Equals2(xs, ys, Equals2);
- }
-
- private bool Equals2(MemberBinding x, MemberBinding y)
- {
- if (x.BindingType != y.BindingType)
- return false;
-
- if (x.Member != y.Member)
- return false;
-
- if (x.GetType() != y.GetType())
- return false;
-
- if (x is MemberAssignment)
- return Equals2((MemberAssignment)x, (MemberAssignment)y);
- if (x is MemberListBinding)
- return Equals2((MemberListBinding)x, (MemberListBinding)y);
- if (x is MemberMemberBinding)
- return Equals2((MemberMemberBinding)x, (MemberMemberBinding)y);
-
- throw new ArgumentException(string.Format("Equals2(): unsupported MemberBinding subtype ({0})", x.GetType()));
- }
-
- private bool Equals2(MemberAssignment x, MemberAssignment y)
- {
- return Equals(x.Expression, y.Expression);
- }
-
- private bool Equals2(MemberListBinding x, MemberListBinding y)
- {
- if (!Equals2(x.Initializers, y.Initializers, Equals2))
- return false;
-
- return true;
- }
-
- private bool Equals2(MemberMemberBinding x, MemberMemberBinding y)
- {
- if (!Equals2(x.Bindings, y.Bindings, Equals2))
- return false;
-
- return true;
- }
-
- private bool Equals2(MethodCallExpression x, MethodCallExpression y)
- {
- if (x.Method != y.Method)
- return false;
-
- if (!Equals(x.Object, y.Object))
- return false;
-
- if (!Equals2(x.Arguments, y.Arguments))
- return false;
-
- return true;
- }
-
- private bool Equals2(NewArrayExpression x, NewArrayExpression y)
- {
- if (!Equals2(x.Expressions, y.Expressions))
- return false;
-
- return true;
- }
-
- private bool Equals2(IList<Expression> xs, IList<Expression> ys)
- {
- return Equals2(xs, ys, Equals);
- }
-
- private bool Equals2(NewExpression x, NewExpression y)
- {
- if (x.Constructor != y.Constructor)
- return false;
-
- if (!Equals2(x.Arguments, y.Arguments))
- return false;
-
- if (!Equals2(x.Members, y.Members, (mx, my) => mx == my))
- return false;
-
- return true;
- }
-
- private bool Equals2(ParameterExpression x, ParameterExpression y)
- {
- if (x.Name != y.Name)
- return false;
-
- return true;
- }
-
- private bool Equals2(TypeBinaryExpression x, TypeBinaryExpression y)
- {
- if (x.TypeOperand != y.TypeOperand)
- return false;
-
- if (!Equals(x.Expression, y.Expression))
- return false;
-
- return true;
- }
-
- private bool Equals2(UnaryExpression x, UnaryExpression y)
- {
- if (x.IsLifted != y.IsLifted)
- return false;
-
- if (x.IsLiftedToNull != y.IsLiftedToNull)
- return false;
-
- if (x.Method != y.Method)
- return false;
-
- if (!Equals(x.Operand, y.Operand))
- return false;
-
- return true;
- }
-
- /// <summary>
- /// Returns a hash code for the specified object.
- /// </summary>
- /// <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param>
- /// <returns>A hash code for the specified object.</returns>
- /// <exception cref="T:System.ArgumentNullException">
- /// The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is null.
- /// </exception>
- public int GetHashCode(Expression obj)
- {
- return (int)obj.NodeType ^ obj.GetType().GetHashCode();
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq.Expressions;\r
+#if MONO_STRICT\r
+using System.Data.Linq.Implementation;\r
+#else\r
+using DbLinq.Data.Linq.Implementation;\r
+#endif\r
+\r
+namespace DbLinq.Util\r
+{\r
+ /// <summary>\r
+ /// IEqualityComparer implementation for Expression\r
+ /// </summary>\r
+ internal class ExpressionEqualityComparer : IEqualityComparer<Expression>\r
+ {\r
+ /// <summary>\r
+ /// Determines whether the specified objects are equal.\r
+ /// </summary>\r
+ /// <param name="x">The first object of type <paramref name="T"/> to compare.</param>\r
+ /// <param name="y">The second object of type <paramref name="T"/> to compare.</param>\r
+ /// <returns>\r
+ /// true if the specified objects are equal; otherwise, false.\r
+ /// </returns>\r
+ public bool Equals(Expression x, Expression y)\r
+ {\r
+ // both nulls? comparison is OK\r
+ if (x == null && y == null)\r
+ return true;\r
+\r
+ if (x == null && y != null)\r
+ return false;\r
+\r
+ if (x != null && y == null)\r
+ return false;\r
+\r
+ // first thing: check types\r
+ if (x.GetType() != y.GetType())\r
+ return false;\r
+\r
+ // then check node types\r
+ if (x.NodeType != y.NodeType)\r
+ return false;\r
+\r
+ // finally, check expression types\r
+ if (x.Type != y.Type)\r
+ return false;\r
+\r
+ // then for each expression subtype, check members\r
+ if (x is BinaryExpression)\r
+ return Equals2((BinaryExpression)x, (BinaryExpression)y);\r
+ if (x is ConditionalExpression)\r
+ return Equals2((ConditionalExpression)x, (ConditionalExpression)y);\r
+ if (x is ConstantExpression)\r
+ return Equals2((ConstantExpression)x, (ConstantExpression)y);\r
+ if (x is InvocationExpression)\r
+ return Equals2((InvocationExpression)x, (InvocationExpression)y);\r
+ if (x is LambdaExpression)\r
+ return Equals2((LambdaExpression)x, (LambdaExpression)y);\r
+ if (x is ListInitExpression)\r
+ return Equals2((ListInitExpression)x, (ListInitExpression)y);\r
+ if (x is MemberExpression)\r
+ return Equals2((MemberExpression)x, (MemberExpression)y);\r
+ if (x is MemberInitExpression)\r
+ return Equals2((MemberInitExpression)x, (MemberInitExpression)y);\r
+ if (x is MethodCallExpression)\r
+ return Equals2((MethodCallExpression)x, (MethodCallExpression)y);\r
+ if (x is NewArrayExpression)\r
+ return Equals2((NewArrayExpression)x, (NewArrayExpression)y);\r
+ if (x is NewExpression)\r
+ return Equals2((NewExpression)x, (NewExpression)y);\r
+ if (x is ParameterExpression)\r
+ return Equals2((ParameterExpression)x, (ParameterExpression)y);\r
+ if (x is TypeBinaryExpression)\r
+ return Equals2((TypeBinaryExpression)x, (TypeBinaryExpression)y);\r
+ if (x is UnaryExpression)\r
+ return Equals2((UnaryExpression)x, (UnaryExpression)y);\r
+ throw new ArgumentException(string.Format("Unknown Expression type ({0})", x.GetType()));\r
+ }\r
+\r
+ private bool Equals2(BinaryExpression x, BinaryExpression y)\r
+ {\r
+ if (x.IsLifted != y.IsLifted)\r
+ return false;\r
+\r
+ if (x.IsLiftedToNull != y.IsLiftedToNull)\r
+ return false;\r
+\r
+ if (x.Method != y.Method)\r
+ return false;\r
+\r
+ if (!Equals(x.Conversion, y.Conversion))\r
+ return false;\r
+\r
+ if (!Equals(x.Left, y.Left))\r
+ return false;\r
+\r
+ if (!Equals(x.Right, y.Right))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(ConditionalExpression x, ConditionalExpression y)\r
+ {\r
+ if (!Equals(x.Test, y.Test))\r
+ return false;\r
+\r
+ if (!Equals(x.IfTrue, y.IfTrue))\r
+ return false;\r
+\r
+ if (!Equals(x.IfFalse, y.IfFalse))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Objects comparer, with special hints\r
+ /// </summary>\r
+ /// <param name="x"></param>\r
+ /// <param name="y"></param>\r
+ /// <returns></returns>\r
+ private bool ObjectsEquals(object x, object y)\r
+ {\r
+ if (x == null && y == null)\r
+ return true;\r
+\r
+ if (x != null && y == null)\r
+ return false;\r
+ if (x == null && y != null)\r
+ return false;\r
+\r
+ if (x.GetType() != y.GetType())\r
+ return false;\r
+\r
+ if (x is Expression)\r
+ return Equals((Expression)x, (Expression)y);\r
+\r
+ if (x is QueryProvider)\r
+ return new ExpressionChainEqualityComparer().Equals(((QueryProvider)x).ExpressionChain, ((QueryProvider)y).ExpressionChain);\r
+\r
+ return Equals(x, y);\r
+ }\r
+\r
+ private bool Equals2(ConstantExpression x, ConstantExpression y)\r
+ {\r
+ return ObjectsEquals(x.Value, y.Value);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Determines if the two lists contain indentical data.\r
+ /// </summary>\r
+ /// <typeparam name="T"></typeparam>\r
+ /// <param name="xs">The xs.</param>\r
+ /// <param name="ys">The ys.</param>\r
+ /// <param name="equals2">The equals2.</param>\r
+ /// <returns></returns>\r
+ private bool Equals2<T>(IList<T> xs, IList<T> ys, Func<T, T, bool> equals2)\r
+ {\r
+ if (xs == null || ys == null)\r
+ return false;\r
+ if (xs.Count != ys.Count)\r
+ return false;\r
+\r
+ for (int index = 0; index < xs.Count; index++)\r
+ {\r
+ if (!equals2(xs[index], ys[index]))\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(InvocationExpression x, InvocationExpression y)\r
+ {\r
+ if (!Equals(x.Expression, y.Expression))\r
+ return false;\r
+\r
+ if (!Equals2(x.Arguments, y.Arguments))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(LambdaExpression x, LambdaExpression y)\r
+ {\r
+ if (!Equals(x.Body, y.Body))\r
+ return false;\r
+\r
+ if (!Equals2(x.Parameters, y.Parameters, Equals2))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(ListInitExpression x, ListInitExpression y)\r
+ {\r
+ if (!Equals(x.NewExpression, y.NewExpression))\r
+ return false;\r
+\r
+ if (!Equals(x.Initializers, y.Initializers))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(ElementInit x, ElementInit y)\r
+ {\r
+ if (x.AddMethod != y.AddMethod)\r
+ return false;\r
+\r
+ if (!Equals2(x.Arguments, y.Arguments))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(MemberExpression x, MemberExpression y)\r
+ {\r
+ if (x.Member != y.Member)\r
+ return false;\r
+\r
+ if (!Equals(x.Expression, y.Expression))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(MemberInitExpression x, MemberInitExpression y)\r
+ {\r
+ if (!Equals(x.NewExpression, y.NewExpression))\r
+ return false;\r
+\r
+ if (!Equals2(x.Bindings, y.Bindings))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(IList<MemberBinding> xs, IList<MemberBinding> ys)\r
+ {\r
+ return Equals2(xs, ys, Equals2);\r
+ }\r
+\r
+ private bool Equals2(MemberBinding x, MemberBinding y)\r
+ {\r
+ if (x.BindingType != y.BindingType)\r
+ return false;\r
+\r
+ if (x.Member != y.Member)\r
+ return false;\r
+\r
+ if (x.GetType() != y.GetType())\r
+ return false;\r
+\r
+ if (x is MemberAssignment)\r
+ return Equals2((MemberAssignment)x, (MemberAssignment)y);\r
+ if (x is MemberListBinding)\r
+ return Equals2((MemberListBinding)x, (MemberListBinding)y);\r
+ if (x is MemberMemberBinding)\r
+ return Equals2((MemberMemberBinding)x, (MemberMemberBinding)y);\r
+\r
+ throw new ArgumentException(string.Format("Equals2(): unsupported MemberBinding subtype ({0})", x.GetType()));\r
+ }\r
+\r
+ private bool Equals2(MemberAssignment x, MemberAssignment y)\r
+ {\r
+ return Equals(x.Expression, y.Expression);\r
+ }\r
+\r
+ private bool Equals2(MemberListBinding x, MemberListBinding y)\r
+ {\r
+ if (!Equals2(x.Initializers, y.Initializers, Equals2))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(MemberMemberBinding x, MemberMemberBinding y)\r
+ {\r
+ if (!Equals2(x.Bindings, y.Bindings, Equals2))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(MethodCallExpression x, MethodCallExpression y)\r
+ {\r
+ if (x.Method != y.Method)\r
+ return false;\r
+\r
+ if (!Equals(x.Object, y.Object))\r
+ return false;\r
+\r
+ if (!Equals2(x.Arguments, y.Arguments))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(NewArrayExpression x, NewArrayExpression y)\r
+ {\r
+ if (!Equals2(x.Expressions, y.Expressions))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(IList<Expression> xs, IList<Expression> ys)\r
+ {\r
+ return Equals2(xs, ys, Equals);\r
+ }\r
+\r
+ private bool Equals2(NewExpression x, NewExpression y)\r
+ {\r
+ if (x.Constructor != y.Constructor)\r
+ return false;\r
+\r
+ if (!Equals2(x.Arguments, y.Arguments))\r
+ return false;\r
+\r
+ if (!Equals2(x.Members, y.Members, (mx, my) => mx == my))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(ParameterExpression x, ParameterExpression y)\r
+ {\r
+ if (x.Name != y.Name)\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(TypeBinaryExpression x, TypeBinaryExpression y)\r
+ {\r
+ if (x.TypeOperand != y.TypeOperand)\r
+ return false;\r
+\r
+ if (!Equals(x.Expression, y.Expression))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private bool Equals2(UnaryExpression x, UnaryExpression y)\r
+ {\r
+ if (x.IsLifted != y.IsLifted)\r
+ return false;\r
+\r
+ if (x.IsLiftedToNull != y.IsLiftedToNull)\r
+ return false;\r
+\r
+ if (x.Method != y.Method)\r
+ return false;\r
+\r
+ if (!Equals(x.Operand, y.Operand))\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Returns a hash code for the specified object.\r
+ /// </summary>\r
+ /// <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param>\r
+ /// <returns>A hash code for the specified object.</returns>\r
+ /// <exception cref="T:System.ArgumentNullException">\r
+ /// The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is null.\r
+ /// </exception>\r
+ public int GetHashCode(Expression obj)\r
+ {\r
+ return (int)obj.NodeType ^ obj.GetType().GetHashCode();\r
+ }\r
+ }\r
+}\r
}\r
\r
/// <summary>\r
- /// Extracts a MemberInfo with more or less digging\r
+ /// Returns MemberInfo specified in the lambda, optional parameter expression constraint.\r
/// </summary>\r
/// <param name="expression"></param>\r
/// <returns></returns>\r
- private static MemberInfo GetMemberInfo(Expression expression)\r
+ public static MemberInfo GetMemberInfo(LambdaExpression expression)\r
{\r
- switch (expression.NodeType)\r
- {\r
- // the ReflectionUtility Get** methods return the value as a object. If the value is a struct, we get a cast,\r
- // that we must unwrap\r
- case ExpressionType.Convert:\r
- case ExpressionType.ConvertChecked:\r
- return GetMemberInfo(((UnaryExpression)expression).Operand);\r
- case ExpressionType.MemberAccess:\r
- return ((MemberExpression)expression).Member;\r
- default:\r
- return null;\r
- }\r
+ var paramExpr = expression.Parameters.Count == 1 ? expression.Parameters[0] : null;\r
+ return GetMemberInfo(paramExpr, expression.Body);\r
}\r
\r
/// <summary>\r
- /// Returns MemberInfo specified in the lambda\r
+ /// Returns MemberInfo specified in the lambda, optional parameter expression constraint.\r
/// </summary>\r
/// <param name="lambdaExpression"></param>\r
/// <returns></returns>\r
- public static MemberInfo GetMemberInfo(LambdaExpression lambdaExpression)\r
+ private static MemberInfo GetMemberInfo(Expression optionalParamExpr, Expression expression)\r
{\r
- return GetMemberInfo(lambdaExpression.Body);\r
+ switch (expression.NodeType)\r
+ {\r
+ // the ReflectionUtility Get** methods return the value as a object. If the value is a struct, we get a cast,\r
+ // that we must unwrap\r
+ case ExpressionType.Convert:\r
+ case ExpressionType.ConvertChecked:\r
+ return GetMemberInfo(optionalParamExpr, ((UnaryExpression)expression).Operand);\r
+ case ExpressionType.MemberAccess:\r
+ var me = (MemberExpression)expression;\r
+ if (optionalParamExpr == null || me.Expression == optionalParamExpr)\r
+ return me.Member;\r
+ else\r
+ return null;\r
+ default:\r
+ return null;\r
+ }\r
}\r
\r
/// <summary>\r
case System.Globalization.UnicodeCategory.LetterNumber:\r
case System.Globalization.UnicodeCategory.LowercaseLetter:\r
case System.Globalization.UnicodeCategory.UppercaseLetter:\r
+ case System.Globalization.UnicodeCategory.ConnectorPunctuation:\r
break;\r
default:\r
return false;\r
-#region MIT license
-//
-// MIT license
-//
-// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Reflection;
-using System.Text.RegularExpressions;
-
-namespace DbLinq.Vendor.Implementation
-{
- partial class SchemaLoader
- {
- /// <summary>
- /// This class is used as fallback when no matching type was found.
- /// If we have the case, then something is missing from DbMetal
- /// </summary>
- internal class UnknownType
- {
- }
-
- /// <summary>
- /// Default IDataType implementation (see IDataType for details)
- /// </summary>
-#if MONO_STRICT
- internal
-#else
- public
-#endif
- class DataType : IDataType
- {
- public virtual string Type { get; set; }
- public virtual bool Nullable { get; set; }
- public virtual long? Length { get; set; }
- public virtual int? Precision { get; set; }
- public virtual int? Scale { get; set; }
- public virtual bool? Unsigned { get; set; }
- public string FullType { get; set; }
- }
-
- protected virtual Type MapDbType(string columnName, IDataType dataType)
- {
- if (dataType == null)
- return typeof(UnknownType);
- string dataTypeL = dataType.Type.ToLower();
-
- if (columnName != null && columnName.ToLower().Contains("guid"))
- {
- bool correctTypeAndLen =
- ((dataTypeL == "char" || dataTypeL == "varchar") && dataType.Length == 36)
- || ((dataTypeL == "binary") && dataType.Length == 16);
-
- if (correctTypeAndLen)
- {
- Console.WriteLine("experimental support for guid--");
- return typeof(Guid);
- }
- }
-
- switch (dataTypeL)
- {
- // string
- case "c":
- case "char":
- case "character":
- case "character varying":
- case "inet":
- case "long":
- case "longtext":
- case "long varchar":
- case "nchar":
- case "nvarchar":
- case "nvarchar2":
- case "string":
- case "text":
- case "varchar":
- case "varchar2":
- case "clob": // oracle type
- case "nclob": // oracle type
- case "rowid": // oracle type
- case "urowid": // oracle type
- return typeof(String);
-
- // bool
- case "bit":
- case "bool":
- case "boolean":
- return typeof(Boolean);
-
- // int8
- case "tinyint":
- if (dataType.Length == 1)
- return typeof(Boolean);
- // tinyint is supposed to be signed
- // but we can have explicit sign
- if (dataType.Unsigned ?? false)
- return typeof(Byte);
- // default case, unsigned
- return typeof(SByte);
-
- // int16
- case "short":
- case "smallint":
- if (dataType.Unsigned ?? false)
- return typeof(UInt16);
- return typeof(Int16);
-
- // int32
- case "int":
- case "integer":
- case "mediumint":
- if (dataType.Unsigned ?? false)
- return typeof(UInt32);
- return typeof(Int32);
-
- // int64
- case "bigint":
- return typeof(Int64);
-
- // single
- case "float":
- case "float4":
- case "real":
- case "binary_float": // oracle type
- return typeof(Single);
-
- // double
- case "double":
- case "double precision":
- case "binary_double": // oracle type
- return typeof(Double);
-
- // decimal
- case "decimal":
- case "numeric":
- return typeof(Decimal);
- case "number": // special oracle type
- if (dataType.Precision.HasValue && (dataType.Scale ?? 0) == 0)
- {
- if (dataType.Precision.Value == 1)
- return typeof(Boolean);
- if (dataType.Precision.Value <= 4)
- return typeof(Int16);
- if (dataType.Precision.Value <= 9)
- return typeof(Int32);
- if (dataType.Precision.Value <= 19)
- return typeof(Int64);
- }
- return typeof(Decimal);
-
- // time interval
- case "interval":
- return typeof(TimeSpan);
-
- //enum
- case "enum":
- return MapEnumDbType(dataType);
-
- // date
- case "date":
- case "datetime":
- case "ingresdate":
- case "timestamp":
- case "timestamp without time zone":
- case "time":
- case "time without time zone": //reported by twain_bu...@msn.com,
- case "time with time zone":
- return typeof(DateTime);
-
- // byte[]
- case "blob":
- case "bytea":
- case "byte varying":
- case "longblob":
- case "long byte":
- case "oid":
- case "sytea":
- case "mediumblob":
- case "raw": // oracle type
- case "long raw": // oracle type
- return typeof(Byte[]);
-
- // PostgreSQL, for example has an uuid type that can be mapped as a Guid
- case "uuid":
- return typeof(Guid);
-
- case "void":
- return null;
-
- // if we fall to this case, we must handle the type
- default:
- return typeof(UnknownType);
- }
- }
-
- protected class EnumType : Type
- {
- internal EnumType()
- {
- EnumValues = new Dictionary<string, int>();
- }
-
- public string EnumName { get; set; }
-
- public IDictionary<string, int> EnumValues;
-
- #region Type overrides - the ones who make sense
-
- public override string Name
- {
- get { return EnumName; }
- }
-
- public override Type BaseType
- {
- get { return typeof(Enum); }
- }
-
- public override string FullName
- {
- get { return Name; } // this is a dynamic type without any qualification (namespace or assembly)
- }
-
- protected override bool IsArrayImpl()
- {
- return false;
- }
-
- protected override bool IsByRefImpl()
- {
- return false;
- }
-
- protected override bool IsCOMObjectImpl()
- {
- return false;
- }
-
- protected override bool IsPointerImpl()
- {
- return false;
- }
-
- protected override bool IsPrimitiveImpl()
- {
- return true;
- }
-
- #endregion
-
- #region Type overrides - the ones we don't care about
- public override object[] GetCustomAttributes(Type attributeType, bool inherit)
- {
- throw new NotImplementedException();
- }
-
- public override object[] GetCustomAttributes(bool inherit)
- {
- throw new NotImplementedException();
- }
-
- public override bool IsDefined(Type attributeType, bool inherit)
- {
- throw new NotImplementedException();
- }
-
- public override Assembly Assembly
- {
- get { throw new NotImplementedException(); }
- }
-
- public override string AssemblyQualifiedName
- {
- get { throw new NotImplementedException(); }
- }
-
- protected override TypeAttributes GetAttributeFlagsImpl()
- {
- throw new NotImplementedException();
- }
-
- protected override ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder binder,
- CallingConventions callConvention, Type[] types,
- ParameterModifier[] modifiers)
- {
- throw new NotImplementedException();
- }
-
- public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override Type GetElementType()
- {
- throw new NotImplementedException();
- }
-
- public override EventInfo GetEvent(string name, BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override EventInfo[] GetEvents(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override FieldInfo GetField(string name, BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override FieldInfo[] GetFields(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override Type GetInterface(string name, bool ignoreCase)
- {
- throw new NotImplementedException();
- }
-
- public override Type[] GetInterfaces()
- {
- throw new NotImplementedException();
- }
-
- public override MemberInfo[] GetMembers(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- protected override MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder binder,
- CallingConventions callConvention, Type[] types,
- ParameterModifier[] modifiers)
- {
- throw new NotImplementedException();
- }
-
- public override MethodInfo[] GetMethods(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override Type GetNestedType(string name, BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override Type[] GetNestedTypes(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
- {
- throw new NotImplementedException();
- }
-
- protected override PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder,
- Type returnType, Type[] types, ParameterModifier[] modifiers)
- {
- throw new NotImplementedException();
- }
-
- public override Guid GUID
- {
- get { throw new NotImplementedException(); }
- }
-
- protected override bool HasElementTypeImpl()
- {
- throw new NotImplementedException();
- }
-
- public override object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target,
- object[] args, ParameterModifier[] modifiers, CultureInfo culture,
- string[] namedParameters)
- {
- throw new NotImplementedException();
- }
-
- public override Module Module
- {
- get { throw new NotImplementedException(); }
- }
-
- public override string Namespace
- {
- get { throw new NotImplementedException(); }
- }
-
- public override Type UnderlyingSystemType
- {
- get { throw new NotImplementedException(); }
- }
- #endregion
- }
-
- protected static Regex DefaultEnumDefinitionEx = new Regex(@"\s*enum\s*\((?<values>.*)\s*\)\s*", RegexOptions.Compiled);
- protected static Regex EnumValuesEx = new Regex(@"\'(?<value>\w*)\'\s*,?\s*", RegexOptions.Compiled);
-
- /// <summary>
- /// Maps a type to enum type, if possible.
- /// </summary>
- /// <param name="dataType">Type of the data.</param>
- /// <returns></returns>
- protected virtual EnumType MapEnumDbType(IDataType dataType)
- {
- var enumType = new EnumType();
- // MySQL represents enums as follows:
- // enum('value1','value2')
- Match outerMatch = DefaultEnumDefinitionEx.Match(dataType.FullType);
- if (outerMatch.Success)
- {
- string values = outerMatch.Groups["values"].Value;
- var innerMatches = EnumValuesEx.Matches(values);
- int currentValue = 1;
- foreach (Match innerMatch in innerMatches)
- {
- var value = innerMatch.Groups["value"].Value;
- enumType.EnumValues[value] = currentValue++;
- }
- }
- return enumType;
- }
- }
-}
+#region MIT license\r
+// \r
+// MIT license\r
+//\r
+// Copyright (c) 2007-2008 Jiri Moudry, Pascal Craponne\r
+// \r
+// Permission is hereby granted, free of charge, to any person obtaining a copy\r
+// of this software and associated documentation files (the "Software"), to deal\r
+// in the Software without restriction, including without limitation the rights\r
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+// copies of the Software, and to permit persons to whom the Software is\r
+// furnished to do so, subject to the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be included in\r
+// all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+// THE SOFTWARE.\r
+// \r
+#endregion\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Globalization;\r
+using System.Reflection;\r
+using System.Text.RegularExpressions;\r
+\r
+namespace DbLinq.Vendor.Implementation\r
+{\r
+ partial class SchemaLoader\r
+ {\r
+ /// <summary>\r
+ /// This class is used as fallback when no matching type was found.\r
+ /// If we have the case, then something is missing from DbMetal\r
+ /// </summary>\r
+ internal class UnknownType\r
+ {\r
+ }\r
+\r
+ /// <summary>\r
+ /// Default IDataType implementation (see IDataType for details)\r
+ /// </summary>\r
+#if MONO_STRICT\r
+ internal\r
+#else\r
+ public\r
+#endif\r
+ class DataType : IDataType\r
+ {\r
+ public virtual string Type { get; set; }\r
+ public virtual bool Nullable { get; set; }\r
+ public virtual long? Length { get; set; }\r
+ public virtual int? Precision { get; set; }\r
+ public virtual int? Scale { get; set; }\r
+ public virtual bool? Unsigned { get; set; }\r
+ public string FullType { get; set; }\r
+ }\r
+\r
+ protected virtual Type MapDbType(string columnName, IDataType dataType)\r
+ {\r
+ if (dataType == null)\r
+ return typeof(UnknownType);\r
+ string dataTypeL = dataType.Type.ToLower();\r
+\r
+ if (columnName != null && columnName.ToLower().Contains("guid"))\r
+ {\r
+ bool correctTypeAndLen =\r
+ ((dataTypeL == "char" || dataTypeL == "varchar") && dataType.Length == 36)\r
+ || ((dataTypeL == "binary") && dataType.Length == 16);\r
+\r
+ if (correctTypeAndLen)\r
+ {\r
+ Console.WriteLine("experimental support for guid--");\r
+ return typeof(Guid);\r
+ }\r
+ }\r
+\r
+ switch (dataTypeL)\r
+ {\r
+ // string\r
+ case "c":\r
+ case "char":\r
+ case "character":\r
+ case "character varying":\r
+ case "inet":\r
+ case "long":\r
+ case "longtext":\r
+ case "long varchar":\r
+ case "nchar":\r
+ case "nvarchar":\r
+ case "nvarchar2":\r
+ case "string":\r
+ case "text":\r
+ case "varchar":\r
+ case "varchar2":\r
+ case "clob": // oracle type\r
+ case "nclob": // oracle type\r
+ case "rowid": // oracle type\r
+ case "urowid": // oracle type\r
+ case "tinytext": // mysql type\r
+ return typeof(String);\r
+\r
+ // bool\r
+ case "bit":\r
+ case "bool":\r
+ case "boolean":\r
+ return typeof(Boolean);\r
+\r
+ // int8\r
+ case "tinyint":\r
+ if (dataType.Length == 1)\r
+ return typeof(Boolean);\r
+ // tinyint is supposed to be signed\r
+ // but we can have explicit sign\r
+ if (dataType.Unsigned ?? false)\r
+ return typeof(Byte);\r
+ // default case, unsigned\r
+ return typeof(SByte);\r
+\r
+ // int16\r
+ case "short":\r
+ case "smallint":\r
+ if (dataType.Unsigned ?? false)\r
+ return typeof(UInt16);\r
+ return typeof(Int16);\r
+\r
+ // int32\r
+ case "int":\r
+ case "integer":\r
+ case "mediumint":\r
+ if (dataType.Unsigned ?? false)\r
+ return typeof(UInt32);\r
+ return typeof(Int32);\r
+\r
+ // int64\r
+ case "bigint":\r
+ return typeof(Int64);\r
+\r
+ // single\r
+ case "float":\r
+ case "float4":\r
+ case "real":\r
+ case "binary_float": // oracle type\r
+ return typeof(Single);\r
+\r
+ // double\r
+ case "double":\r
+ case "double precision":\r
+ case "binary_double": // oracle type\r
+ return typeof(Double);\r
+\r
+ // decimal\r
+ case "decimal":\r
+ case "numeric":\r
+ return typeof(Decimal);\r
+ case "number": // special oracle type\r
+ if (dataType.Precision.HasValue && (dataType.Scale ?? 0) == 0)\r
+ {\r
+ if (dataType.Precision.Value == 1)\r
+ return typeof(Boolean);\r
+ if (dataType.Precision.Value <= 4)\r
+ return typeof(Int16);\r
+ if (dataType.Precision.Value <= 9)\r
+ return typeof(Int32);\r
+ if (dataType.Precision.Value <= 19)\r
+ return typeof(Int64);\r
+ }\r
+ return typeof(Decimal);\r
+\r
+ // time interval\r
+ case "interval":\r
+ return typeof(TimeSpan);\r
+\r
+ //enum\r
+ case "enum":\r
+ return MapEnumDbType(dataType);\r
+\r
+ // date\r
+ case "date":\r
+ case "datetime":\r
+ case "ingresdate":\r
+ case "timestamp":\r
+ case "timestamp without time zone":\r
+ case "time":\r
+ case "time without time zone": //reported by twain_bu...@msn.com,\r
+ case "time with time zone":\r
+ return typeof(DateTime);\r
+\r
+ // byte[]\r
+ case "blob":\r
+ case "bytea":\r
+ case "byte varying":\r
+ case "longblob":\r
+ case "long byte":\r
+ case "oid":\r
+ case "sytea":\r
+ case "mediumblob":\r
+ case "raw": // oracle type\r
+ case "long raw": // oracle type\r
+ case "varbinary":\r
+ return typeof(Byte[]);\r
+\r
+ // PostgreSQL, for example has an uuid type that can be mapped as a Guid\r
+ case "uuid":\r
+ return typeof(Guid);\r
+\r
+ case "void":\r
+ return null;\r
+\r
+ // if we fall to this case, we must handle the type\r
+ default:\r
+ return typeof(UnknownType);\r
+ }\r
+ }\r
+\r
+ protected class EnumType : Type\r
+ {\r
+ internal EnumType()\r
+ {\r
+ EnumValues = new Dictionary<string, int>();\r
+ }\r
+\r
+ public string EnumName { get; set; }\r
+\r
+ public IDictionary<string, int> EnumValues;\r
+\r
+ #region Type overrides - the ones who make sense\r
+\r
+ public override string Name\r
+ {\r
+ get { return EnumName; }\r
+ }\r
+\r
+ public override Type BaseType\r
+ {\r
+ get { return typeof(Enum); }\r
+ }\r
+\r
+ public override string FullName\r
+ {\r
+ get { return Name; } // this is a dynamic type without any qualification (namespace or assembly)\r
+ }\r
+\r
+ protected override bool IsArrayImpl()\r
+ {\r
+ return false;\r
+ }\r
+\r
+ protected override bool IsByRefImpl()\r
+ {\r
+ return false;\r
+ }\r
+\r
+ protected override bool IsCOMObjectImpl()\r
+ {\r
+ return false;\r
+ }\r
+\r
+ protected override bool IsPointerImpl()\r
+ {\r
+ return false;\r
+ }\r
+\r
+ protected override bool IsPrimitiveImpl()\r
+ {\r
+ return true;\r
+ }\r
+\r
+ #endregion\r
+\r
+ #region Type overrides - the ones we don't care about\r
+ public override object[] GetCustomAttributes(Type attributeType, bool inherit)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override object[] GetCustomAttributes(bool inherit)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override bool IsDefined(Type attributeType, bool inherit)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Assembly Assembly\r
+ {\r
+ get { throw new NotImplementedException(); }\r
+ }\r
+\r
+ public override string AssemblyQualifiedName\r
+ {\r
+ get { throw new NotImplementedException(); }\r
+ }\r
+\r
+ protected override TypeAttributes GetAttributeFlagsImpl()\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ protected override ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder binder,\r
+ CallingConventions callConvention, Type[] types,\r
+ ParameterModifier[] modifiers)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Type GetElementType()\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override EventInfo GetEvent(string name, BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override EventInfo[] GetEvents(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override FieldInfo GetField(string name, BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override FieldInfo[] GetFields(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Type GetInterface(string name, bool ignoreCase)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Type[] GetInterfaces()\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override MemberInfo[] GetMembers(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ protected override MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder binder,\r
+ CallingConventions callConvention, Type[] types,\r
+ ParameterModifier[] modifiers)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override MethodInfo[] GetMethods(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Type GetNestedType(string name, BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Type[] GetNestedTypes(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ protected override PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder,\r
+ Type returnType, Type[] types, ParameterModifier[] modifiers)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Guid GUID\r
+ {\r
+ get { throw new NotImplementedException(); }\r
+ }\r
+\r
+ protected override bool HasElementTypeImpl()\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target,\r
+ object[] args, ParameterModifier[] modifiers, CultureInfo culture,\r
+ string[] namedParameters)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+\r
+ public override Module Module\r
+ {\r
+ get { throw new NotImplementedException(); }\r
+ }\r
+\r
+ public override string Namespace\r
+ {\r
+ get { throw new NotImplementedException(); }\r
+ }\r
+\r
+ public override Type UnderlyingSystemType\r
+ {\r
+ get { throw new NotImplementedException(); }\r
+ }\r
+ #endregion\r
+ }\r
+\r
+ protected static Regex DefaultEnumDefinitionEx = new Regex(@"\s*enum\s*\((?<values>.*)\s*\)\s*", RegexOptions.Compiled);\r
+ protected static Regex EnumValuesEx = new Regex(@"\'(?<value>\w*)\'\s*,?\s*", RegexOptions.Compiled);\r
+\r
+ /// <summary>\r
+ /// Maps a type to enum type, if possible.\r
+ /// </summary>\r
+ /// <param name="dataType">Type of the data.</param>\r
+ /// <returns></returns>\r
+ protected virtual EnumType MapEnumDbType(IDataType dataType)\r
+ {\r
+ var enumType = new EnumType();\r
+ // MySQL represents enums as follows:\r
+ // enum('value1','value2')\r
+ Match outerMatch = DefaultEnumDefinitionEx.Match(dataType.FullType);\r
+ if (outerMatch.Success)\r
+ {\r
+ string values = outerMatch.Groups["values"].Value;\r
+ var innerMatches = EnumValuesEx.Matches(values);\r
+ int currentValue = 1;\r
+ foreach (Match innerMatch in innerMatches)\r
+ {\r
+ var value = innerMatch.Groups["value"].Value;\r
+ enumType.EnumValues[value] = currentValue++;\r
+ }\r
+ }\r
+ return enumType;\r
+ }\r
+ }\r
+}\r
return GetLiteral((string)literal);\r
if (literal is char)\r
return GetLiteral(literal.ToString());\r
+ if (literal is bool)\r
+ return GetLiteral((bool)literal);\r
if (literal is DateTime)\r
return GetLiteral(literal.ToString());\r
if (literal.GetType().IsArray)\r
return Convert.ToString(literal, CultureInfo.InvariantCulture);\r
}\r
\r
+ public virtual SqlStatement GetLiteral(bool literal)\r
+ {\r
+ return Convert.ToString(literal, CultureInfo.InvariantCulture);\r
+ }\r
+\r
/// <summary>\r
/// Converts a standard operator to an expression\r
/// </summary>\r
{\r
switch (operationType)\r
{\r
- case ExpressionType.Add:\r
- return GetLiteralAdd(p[0], p[1]);\r
- case ExpressionType.AddChecked:\r
- return GetLiteralAddChecked(p[0], p[1]);\r
- case ExpressionType.And:\r
- return GetLiteralAnd(p[0], p[1]);\r
- case ExpressionType.AndAlso:\r
- return GetLiteralAndAlso(p[0], p[1]);\r
- case ExpressionType.ArrayLength:\r
- return GetLiteralArrayLength(p[0], p[1]);\r
- case ExpressionType.ArrayIndex:\r
- return GetLiteralArrayIndex(p[0], p[1]);\r
- case ExpressionType.Call:\r
- return GetLiteralCall(p[0]);\r
- case ExpressionType.Coalesce:\r
- return GetLiteralCoalesce(p[0], p[1]);\r
- case ExpressionType.Conditional:\r
- return GetLiteralConditional(p[0], p[1], p[2]);\r
- //case ExpressionType.Constant:\r
- //break;\r
- case ExpressionType.Divide:\r
- return GetLiteralDivide(p[0], p[1]);\r
- case ExpressionType.Equal:\r
- return GetLiteralEqual(p[0], p[1]);\r
- case ExpressionType.ExclusiveOr:\r
- return GetLiteralExclusiveOr(p[0], p[1]);\r
- case ExpressionType.GreaterThan:\r
- return GetLiteralGreaterThan(p[0], p[1]);\r
- case ExpressionType.GreaterThanOrEqual:\r
- return GetLiteralGreaterThanOrEqual(p[0], p[1]);\r
- //case ExpressionType.Invoke:\r
- //break;\r
- //case ExpressionType.Lambda:\r
- //break;\r
- case ExpressionType.LeftShift:\r
- return GetLiteralLeftShift(p[0], p[1]);\r
- case ExpressionType.LessThan:\r
- return GetLiteralLessThan(p[0], p[1]);\r
- case ExpressionType.LessThanOrEqual:\r
- return GetLiteralLessThanOrEqual(p[0], p[1]);\r
- //case ExpressionType.ListInit:\r
- //break;\r
- //case ExpressionType.MemberAccess:\r
- // break;\r
- //case ExpressionType.MemberInit:\r
- // break;\r
- case ExpressionType.Modulo:\r
- return GetLiteralModulo(p[0], p[1]);\r
- case ExpressionType.Multiply:\r
- return GetLiteralMultiply(p[0], p[1]);\r
- case ExpressionType.MultiplyChecked:\r
- return GetLiteralMultiplyChecked(p[0], p[1]);\r
- case ExpressionType.Negate:\r
- return GetLiteralNegate(p[0]);\r
- case ExpressionType.UnaryPlus:\r
- return GetLiteralUnaryPlus(p[0]);\r
- case ExpressionType.NegateChecked:\r
- return GetLiteralNegateChecked(p[0]);\r
- //case ExpressionType.New:\r
- // break;\r
- //case ExpressionType.NewArrayInit:\r
- // break;\r
- //case ExpressionType.NewArrayBounds:\r
- // break;\r
- case ExpressionType.Not:\r
- return GetLiteralNot(p[0]);\r
- case ExpressionType.NotEqual:\r
- return GetLiteralNotEqual(p[0], p[1]);\r
- case ExpressionType.Or:\r
- return GetLiteralOr(p[0], p[1]);\r
- case ExpressionType.OrElse:\r
- return GetLiteralOrElse(p[0], p[1]);\r
- //case ExpressionType.Parameter:\r
- // break;\r
- case ExpressionType.Power:\r
- return GetLiteralPower(p[0], p[1]);\r
- //case ExpressionType.Quote:\r
- // break;\r
- case ExpressionType.RightShift:\r
- return GetLiteralRightShift(p[0], p[1]);\r
- case ExpressionType.Subtract:\r
- return GetLiteralSubtract(p[0], p[1]);\r
- case ExpressionType.SubtractChecked:\r
- return GetLiteralSubtractChecked(p[0], p[1]);\r
- //case ExpressionType.TypeAs:\r
- // break;\r
- //case ExpressionType.TypeIs:\r
- // break;\r
+ case ExpressionType.Add:\r
+ return GetLiteralAdd(p[0], p[1]);\r
+ case ExpressionType.AddChecked:\r
+ return GetLiteralAddChecked(p[0], p[1]);\r
+ case ExpressionType.And:\r
+ return GetLiteralAnd(p[0], p[1]);\r
+ case ExpressionType.AndAlso:\r
+ return GetLiteralAndAlso(p[0], p[1]);\r
+ case ExpressionType.ArrayLength:\r
+ return GetLiteralArrayLength(p[0], p[1]);\r
+ case ExpressionType.ArrayIndex:\r
+ return GetLiteralArrayIndex(p[0], p[1]);\r
+ case ExpressionType.Call:\r
+ return GetLiteralCall(p[0]);\r
+ case ExpressionType.Coalesce:\r
+ return GetLiteralCoalesce(p[0], p[1]);\r
+ case ExpressionType.Conditional:\r
+ return GetLiteralConditional(p[0], p[1], p[2]);\r
+ //case ExpressionType.Constant:\r
+ //break;\r
+ case ExpressionType.Divide:\r
+ return GetLiteralDivide(p[0], p[1]);\r
+ case ExpressionType.Equal:\r
+ return GetLiteralEqual(p[0], p[1]);\r
+ case ExpressionType.ExclusiveOr:\r
+ return GetLiteralExclusiveOr(p[0], p[1]);\r
+ case ExpressionType.GreaterThan:\r
+ return GetLiteralGreaterThan(p[0], p[1]);\r
+ case ExpressionType.GreaterThanOrEqual:\r
+ return GetLiteralGreaterThanOrEqual(p[0], p[1]);\r
+ //case ExpressionType.Invoke:\r
+ //break;\r
+ //case ExpressionType.Lambda:\r
+ //break;\r
+ case ExpressionType.LeftShift:\r
+ return GetLiteralLeftShift(p[0], p[1]);\r
+ case ExpressionType.LessThan:\r
+ return GetLiteralLessThan(p[0], p[1]);\r
+ case ExpressionType.LessThanOrEqual:\r
+ return GetLiteralLessThanOrEqual(p[0], p[1]);\r
+ //case ExpressionType.ListInit:\r
+ //break;\r
+ //case ExpressionType.MemberAccess:\r
+ // break;\r
+ //case ExpressionType.MemberInit:\r
+ // break;\r
+ case ExpressionType.Modulo:\r
+ return GetLiteralModulo(p[0], p[1]);\r
+ case ExpressionType.Multiply:\r
+ return GetLiteralMultiply(p[0], p[1]);\r
+ case ExpressionType.MultiplyChecked:\r
+ return GetLiteralMultiplyChecked(p[0], p[1]);\r
+ case ExpressionType.Negate:\r
+ return GetLiteralNegate(p[0]);\r
+ case ExpressionType.UnaryPlus:\r
+ return GetLiteralUnaryPlus(p[0]);\r
+ case ExpressionType.NegateChecked:\r
+ return GetLiteralNegateChecked(p[0]);\r
+ //case ExpressionType.New:\r
+ // break;\r
+ //case ExpressionType.NewArrayInit:\r
+ // break;\r
+ //case ExpressionType.NewArrayBounds:\r
+ // break;\r
+ case ExpressionType.Not:\r
+ return GetLiteralNot(p[0]);\r
+ case ExpressionType.NotEqual:\r
+ return GetLiteralNotEqual(p[0], p[1]);\r
+ case ExpressionType.Or:\r
+ return GetLiteralOr(p[0], p[1]);\r
+ case ExpressionType.OrElse:\r
+ return GetLiteralOrElse(p[0], p[1]);\r
+ //case ExpressionType.Parameter:\r
+ // break;\r
+ case ExpressionType.Power:\r
+ return GetLiteralPower(p[0], p[1]);\r
+ //case ExpressionType.Quote:\r
+ // break;\r
+ case ExpressionType.RightShift:\r
+ return GetLiteralRightShift(p[0], p[1]);\r
+ case ExpressionType.Subtract:\r
+ return GetLiteralSubtract(p[0], p[1]);\r
+ case ExpressionType.SubtractChecked:\r
+ return GetLiteralSubtractChecked(p[0], p[1]);\r
+ //case ExpressionType.TypeAs:\r
+ // break;\r
+ //case ExpressionType.TypeIs:\r
+ // break;\r
}\r
throw new ArgumentException(operationType.ToString());\r
}\r
{\r
switch (operationType) // SETuse\r
{\r
- case SpecialExpressionType.IsNull:\r
- return GetLiteralIsNull(p[0]);\r
- case SpecialExpressionType.IsNotNull:\r
- return GetLiteralIsNotNull(p[0]);\r
- case SpecialExpressionType.Concat:\r
- return GetLiteralStringConcat(p[0], p[1]);\r
- case SpecialExpressionType.Count:\r
- return GetLiteralCount(p[0]);\r
- case SpecialExpressionType.Like:\r
- return GetLiteralLike(p[0], p[1]);\r
- case SpecialExpressionType.Min:\r
- return GetLiteralMin(p[0]);\r
- case SpecialExpressionType.Max:\r
- return GetLiteralMax(p[0]);\r
- case SpecialExpressionType.Sum:\r
- return GetLiteralSum(p[0]);\r
- case SpecialExpressionType.Average:\r
- return GetLiteralAverage(p[0]);\r
- case SpecialExpressionType.StringLength:\r
- return GetLiteralStringLength(p[0]);\r
- case SpecialExpressionType.ToUpper:\r
- return GetLiteralStringToUpper(p[0]);\r
- case SpecialExpressionType.ToLower:\r
- return GetLiteralStringToLower(p[0]);\r
- case SpecialExpressionType.In:\r
- return GetLiteralIn(p[0], p[1]);\r
- case SpecialExpressionType.Substring:\r
- if (p.Count > 2)\r
- return GetLiteralSubString(p[0], p[1], p[2]);\r
- return GetLiteralSubString(p[0], p[1]);\r
- case SpecialExpressionType.Trim:\r
- case SpecialExpressionType.LTrim:\r
- case SpecialExpressionType.RTrim:\r
- return GetLiteralTrim(p[0]);\r
- case SpecialExpressionType.StringInsert:\r
- return GetLiteralStringInsert(p[0], p[1], p[2]);\r
- case SpecialExpressionType.Replace:\r
- return GetLiteralStringReplace(p[0], p[1], p[2]);\r
- case SpecialExpressionType.Remove:\r
- if (p.Count > 2)\r
- return GetLiteralStringRemove(p[0], p[1], p[2]);\r
- return GetLiteralStringRemove(p[0], p[1]);\r
- case SpecialExpressionType.IndexOf:\r
- if (p.Count == 2)\r
- return GetLiteralStringIndexOf(p[0], p[1]);\r
- else if (p.Count == 3)\r
- return GetLiteralStringIndexOf(p[0], p[1], p[2]);\r
- else if (p.Count == 4)\r
- return GetLiteralStringIndexOf(p[0], p[1], p[2], p[3]);\r
- break;\r
- case SpecialExpressionType.Year:\r
- case SpecialExpressionType.Month:\r
- case SpecialExpressionType.Day:\r
- case SpecialExpressionType.Hour:\r
- case SpecialExpressionType.Minute:\r
- case SpecialExpressionType.Second:\r
- case SpecialExpressionType.Millisecond:\r
- return GetLiteralDateTimePart(p[0], operationType);\r
- case SpecialExpressionType.DateDiffInMilliseconds:\r
- return GetLiteralDateDiff(p[0], p[1]);\r
- case SpecialExpressionType.Abs:\r
- return GetLiteralMathAbs(p[0]);\r
- case SpecialExpressionType.Exp:\r
- return GetLiteralMathExp(p[0]);\r
- case SpecialExpressionType.Floor:\r
- return GetLiteralMathFloor(p[0]);\r
- case SpecialExpressionType.Ln:\r
- return GetLiteralMathLn(p[0]);\r
-\r
- case SpecialExpressionType.Log:\r
- if (p.Count == 1)\r
- return GetLiteralMathLog(p[0]);\r
- else\r
- return GetLiteralMathLog(p[0], p[1]);\r
- case SpecialExpressionType.Pow:\r
- return GetLiteralMathPow(p[0], p[1]);\r
- case SpecialExpressionType.Round:\r
- return GetLiteralMathRound(p[0]);\r
- case SpecialExpressionType.Sign:\r
- return GetLiteralMathSign(p[0]);\r
- case SpecialExpressionType.Sqrt:\r
- return GetLiteralMathSqrt(p[0]);\r
+ case SpecialExpressionType.IsNull:\r
+ return GetLiteralIsNull(p[0]);\r
+ case SpecialExpressionType.IsNotNull:\r
+ return GetLiteralIsNotNull(p[0]);\r
+ case SpecialExpressionType.Concat:\r
+ return GetLiteralStringConcat(p[0], p[1]);\r
+ case SpecialExpressionType.Count:\r
+ return GetLiteralCount(p[0]);\r
+ case SpecialExpressionType.Like:\r
+ return GetLiteralLike(p[0], p[1]);\r
+ case SpecialExpressionType.Min:\r
+ return GetLiteralMin(p[0]);\r
+ case SpecialExpressionType.Max:\r
+ return GetLiteralMax(p[0]);\r
+ case SpecialExpressionType.Sum:\r
+ return GetLiteralSum(p[0]);\r
+ case SpecialExpressionType.Average:\r
+ return GetLiteralAverage(p[0]);\r
+ case SpecialExpressionType.StringLength:\r
+ return GetLiteralStringLength(p[0]);\r
+ case SpecialExpressionType.ToUpper:\r
+ return GetLiteralStringToUpper(p[0]);\r
+ case SpecialExpressionType.ToLower:\r
+ return GetLiteralStringToLower(p[0]);\r
+ case SpecialExpressionType.In:\r
+ return GetLiteralIn(p[0], p[1]);\r
+ case SpecialExpressionType.Substring:\r
+ if (p.Count > 2)\r
+ return GetLiteralSubString(p[0], p[1], p[2]);\r
+ return GetLiteralSubString(p[0], p[1]);\r
+ case SpecialExpressionType.Trim:\r
+ case SpecialExpressionType.LTrim:\r
+ case SpecialExpressionType.RTrim:\r
+ return GetLiteralTrim(p[0]);\r
+ case SpecialExpressionType.StringInsert:\r
+ return GetLiteralStringInsert(p[0], p[1], p[2]);\r
+ case SpecialExpressionType.Replace:\r
+ return GetLiteralStringReplace(p[0], p[1], p[2]);\r
+ case SpecialExpressionType.Remove:\r
+ if (p.Count > 2)\r
+ return GetLiteralStringRemove(p[0], p[1], p[2]);\r
+ return GetLiteralStringRemove(p[0], p[1]);\r
+ case SpecialExpressionType.IndexOf:\r
+ if (p.Count == 2)\r
+ return GetLiteralStringIndexOf(p[0], p[1]);\r
+ else if (p.Count == 3)\r
+ return GetLiteralStringIndexOf(p[0], p[1], p[2]);\r
+ else if (p.Count == 4)\r
+ return GetLiteralStringIndexOf(p[0], p[1], p[2], p[3]);\r
+ break;\r
+ case SpecialExpressionType.Year:\r
+ case SpecialExpressionType.Month:\r
+ case SpecialExpressionType.Day:\r
+ case SpecialExpressionType.Hour:\r
+ case SpecialExpressionType.Minute:\r
+ case SpecialExpressionType.Second:\r
+ case SpecialExpressionType.Millisecond:\r
+ return GetLiteralDateTimePart(p[0], operationType);\r
+ case SpecialExpressionType.DateDiffInMilliseconds:\r
+ return GetLiteralDateDiff(p[0], p[1]);\r
+ case SpecialExpressionType.Abs:\r
+ return GetLiteralMathAbs(p[0]);\r
+ case SpecialExpressionType.Exp:\r
+ return GetLiteralMathExp(p[0]);\r
+ case SpecialExpressionType.Floor:\r
+ return GetLiteralMathFloor(p[0]);\r
+ case SpecialExpressionType.Ln:\r
+ return GetLiteralMathLn(p[0]);\r
+\r
+ case SpecialExpressionType.Log:\r
+ if (p.Count == 1)\r
+ return GetLiteralMathLog(p[0]);\r
+ else\r
+ return GetLiteralMathLog(p[0], p[1]);\r
+ case SpecialExpressionType.Pow:\r
+ return GetLiteralMathPow(p[0], p[1]);\r
+ case SpecialExpressionType.Round:\r
+ return GetLiteralMathRound(p[0]);\r
+ case SpecialExpressionType.Sign:\r
+ return GetLiteralMathSign(p[0]);\r
+ case SpecialExpressionType.Sqrt:\r
+ return GetLiteralMathSqrt(p[0]);\r
\r
}\r
throw new ArgumentException(operationType.ToString());\r
{\r
switch (selectOperator)\r
{\r
- case SelectOperatorType.Union:\r
- return GetLiteralUnion(selectA, selectB);\r
- case SelectOperatorType.UnionAll:\r
- return GetLiteralUnionAll(selectA, selectB);\r
- case SelectOperatorType.Intersection:\r
- return GetLiteralIntersect(selectA, selectB);\r
- case SelectOperatorType.Exception:\r
- return GetLiteralExcept(selectA, selectB);\r
- default:\r
- throw new ArgumentOutOfRangeException(selectOperator.ToString());\r
+ case SelectOperatorType.Union:\r
+ return GetLiteralUnion(selectA, selectB);\r
+ case SelectOperatorType.UnionAll:\r
+ return GetLiteralUnionAll(selectA, selectB);\r
+ case SelectOperatorType.Intersection:\r
+ return GetLiteralIntersect(selectA, selectB);\r
+ case SelectOperatorType.Exception:\r
+ return GetLiteralExcept(selectA, selectB);\r
+ default:\r
+ throw new ArgumentOutOfRangeException(selectOperator.ToString());\r
}\r
}\r
\r
var nameL = name.ToLower();\r
switch (nameL)\r
{\r
- case "user":\r
- case "bit":\r
- case "int":\r
- case "smallint":\r
- case "tinyint":\r
- case "mediumint":\r
-\r
- case "float":\r
- case "double":\r
- case "real":\r
- case "decimal":\r
- case "numeric":\r
-\r
- case "blob":\r
- case "text":\r
- case "char":\r
- case "varchar":\r
-\r
- case "date":\r
- case "time":\r
- case "datetime":\r
- case "timestamp":\r
- case "year":\r
+ case "user":\r
+ case "bit":\r
+ case "int":\r
+ case "smallint":\r
+ case "tinyint":\r
+ case "mediumint":\r
+\r
+ case "float":\r
+ case "double":\r
+ case "real":\r
+ case "decimal":\r
+ case "numeric":\r
+\r
+ case "blob":\r
+ case "text":\r
+ case "char":\r
+ case "varchar":\r
+\r
+ case "date":\r
+ case "time":\r
+ case "datetime":\r
+ case "timestamp":\r
+ case "year":\r
+\r
+ case "select":\r
+ case "from":\r
+ case "where":\r
+ case "order":\r
+ case "by":\r
\r
- return false;\r
- default:\r
- return !name.Contains(' ');\r
+ return false;\r
+ default:\r
+ return !name.Contains(' ');\r
}\r
}\r
\r
return string.Join(";", connectionStringParts.ToArray());\r
}\r
\r
- /// <summary>\r
- /// used during DataContext ctor -\r
- /// - to ask specific DLL and class to load an IDbConnection object from\r
- /// </summary>\r
- /// <returns></returns>\r
- protected abstract TypeToLoadData GetProviderTypeName();\r
-\r
/// <summary>\r
/// called from DataContext ctor, which needs to create an IDbConnection, given an IVendor\r
/// </summary>\r
public IDbConnection CreateDbConnection(string connectionString)\r
{\r
- TypeToLoadData typeToLoad = GetProviderTypeName();\r
- string assemblyToLoad = typeToLoad.assemblyName; //e.g. "System.Data.SQLite.DLL",\r
- Assembly assy;\r
- try\r
- {\r
- //TODO: check if DLL is already loaded?\r
- assy = Assembly.LoadFrom(assemblyToLoad);\r
- }\r
- catch (Exception ex)\r
- {\r
- //TODO: add proper logging here\r
- Console.WriteLine("DataContext ctor: Assembly load failed for " + assemblyToLoad + ": " + ex);\r
- throw ex;\r
- }\r
- Type[] STRING_PARAM = new Type[] { typeof(string) };\r
-\r
- //find IDbProvider class in this assembly:\r
- var ctors = (from mod in assy.GetModules()\r
- from cls in mod.GetTypes()\r
- where cls.GetInterfaces().Contains(typeof(IDbConnection))\r
- let ctorInfo = cls.GetConstructor(STRING_PARAM)\r
- where ctorInfo != null\r
- select ctorInfo).ToList();\r
- if (ctors.Count == 0)\r
- {\r
- string msg = "Found no IVendor class in assembly " + assemblyToLoad + " having a string ctor";\r
- throw new ArgumentException(msg);\r
- }\r
- else if (ctors.Count > 1)\r
- {\r
- string msg = "Found more than one IVendor class in assembly " + assemblyToLoad + " having a string ctor";\r
- throw new ArgumentException(msg);\r
- }\r
- ConstructorInfo ctorInfo2 = ctors[0];\r
-\r
- object iDbConnObject;\r
- try\r
- {\r
- iDbConnObject = ctorInfo2.Invoke(new object[] { connectionString });\r
- }\r
- catch (Exception ex)\r
- {\r
- //TODO: add proper logging here\r
- Console.WriteLine("DataContext/Vendor: Failed to invoke IDbConnection ctor " + ctorInfo2.Name + ": " + ex);\r
- throw ex;\r
- }\r
- var connection = (IDbConnection)iDbConnObject;\r
- return connection;\r
- }\r
-\r
- // TODO: update, this is obsolete\r
- public class TypeToLoadData\r
- {\r
- public string assemblyName;\r
- public string className;\r
+ var reConnectionType = new System.Text.RegularExpressions.Regex(@"DbLinqConnectionType=([^;]+)");\r
+ if (!reConnectionType.IsMatch(connectionString))\r
+ throw new ArgumentException("No DbLinqConnectionType parameter found. " +\r
+ "Please specify the assembly qualified type name to use for the Connection Type.",\r
+ "connectionString");\r
+\r
+ var match = reConnectionType.Match(connectionString);\r
+ string connTypeVal = match.Groups[1].Value;\r
+ var connType = Type.GetType(connTypeVal);\r
+ if (connType == null)\r
+ throw new ArgumentException(string.Format(\r
+ "Could not load the specified DbLinqConnectionType `{0}'.",\r
+ connTypeVal),\r
+ "connectionString");\r
+ connectionString = reConnectionType.Replace(connectionString, "");\r
+ return (IDbConnection)Activator.CreateInstance(connType, connectionString);\r
}\r
}\r
}\r
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
- <TestList name="ExpressionEqualityComparer" id="2b647753-badc-439b-8b2b-2d4f17633818" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <TestLinks>
- <TestLink id="a720a5b0-e425-b1b8-77c2-08b4743c163c" name="Equality4Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="73dfcdd1-3e34-65c6-4739-ad0ccdaf32a4" name="Inequality1Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="822984b6-3c12-c768-2502-9487bd21d664" name="Inequality9Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7849fc5d-4dd1-e9a7-6ed6-95a19027cf9b" name="Inequality5Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="aa5d6e4e-606f-8866-1b00-c51c8aed9087" name="Equality1Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cd750f5d-9f73-a93a-bf6d-dcd8638cc716" name="Inequality4Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b4ffb924-11d0-357f-2142-7543e27ae481" name="Equality2Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f49b14c0-84dd-d37f-ff2a-189cdbeba0de" name="Equality3Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="505dde5b-4b43-668e-511c-ac698e26fb56" name="Equality9Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0b3935c2-79c9-5eee-500f-e32a93291a89" name="Inequality6Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f1766afc-7c1a-701c-a724-dff9e3577220" name="Inequality7Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
- <TestList name="CSV" id="5f4e3dcf-0fc2-4adf-b040-9c43abd29825" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <TestLinks>
- <TestLink id="8edfbff0-9217-34da-cdaf-99e6a87360ce" name="WriteArrayTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2d6d8fc8-6aea-b1bf-4c6b-6cae6f82c10c" name="ArrayTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
- <TestList name="Schema" id="830fbbb5-6aaf-4ec9-bc36-efa2bc59567b" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <TestLinks>
- <TestLink id="1728b8be-195f-aa0c-e8d8-702d9ad1d982" name="UnpackDbType3Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e8f459b4-aab9-55d2-048c-9eb5f0efd342" name="UnpackDbType4Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="75e74d64-a3a6-d020-91f1-b7feb4ffc761" name="UnpackDbType1Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c85281a2-126f-f6f6-0e5b-ed8839b957c7" name="ToEnumTest2" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="32256574-4f17-0ea9-ce56-d7d293290ad7" name="UnpackDbType2Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6e28524c-ecac-ad63-4e5f-851a4434d059" name="ToEnumTest1" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c7522bbc-978c-ff87-a01f-08984f1f2a5a" name="UnpackDbType5Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
- <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <RunConfiguration id="4bf8ab57-0a3e-42e7-8cf7-3cb20d6d9ec5" name="Local Test Run" storage="localtestrun.testrunconfig" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestList>
- <TestList name="Words" id="f8d65c83-5ce4-41c6-bc6f-1d69d7864af4" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <TestLinks>
- <TestLink id="6725f22f-ec10-69d7-54a8-9c50c606ee5b" name="GetWordsTest_MTER" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a5bc14f4-48a5-a893-4380-2892c02cbfa2" name="PluralizeTest_Oeuf" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="12669cd0-dfb6-75ab-f5bd-51b9a3b01968" name="GetWordsTest_HireDate" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e1ae0ada-9524-3d3e-b80e-852e1f25f2a0" name="GetWordsTest_CustomerId" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="78acae99-7693-d338-ab01-ff8a20006492" name="InvalidCharactersLanguageTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ab308983-5e9f-518e-b1a6-2d0593f6fdd5" name="GetWordsTest_UnitsInStock" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6e6c1134-640f-dccf-48b3-3b5c74fe3922" name="GetWordsTest_MyTableName" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b8a2445e-4a62-22e1-5938-db9122337ff4" name="GetWordsTest_MyTableName2" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bf13d4b8-d3d9-82c9-93ce-2f647ed67d96" name="PluralizeTest_Cou" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="353d788c-2a7a-2852-2fa1-ea495eabdcf4" name="GetWordsTest_QuantityPerUnit" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a1a16112-1dcc-e5a0-e742-ccf55018c6cf" name="GetNoteTest_PerUnit" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2cc22302-cd39-930f-791c-fa6e3b766ee0" name="GetWordsTest_CatG" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2cf6ad6a-85d1-06c2-7e4d-7ebfc4b9a68a" name="PluralizeTest_Bijou" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="34b7d48e-4996-241e-db4d-8ed9ef738baf" name="InvalidCharactersLanguage2Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="429d6969-deff-9c12-cbf9-ecaf63830dc6" name="InvalidCharactersCaseTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="aff15bbe-7c82-54d4-c229-3a5bb1bf69e5" name="GetWordsTest_FkProdCatG" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="892bf6b0-bc14-0a43-f508-643f944bbda8" name="GetNoteTest_ToothPaste" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="517a1fd1-fbf0-5c1d-4d72-31e7b72ba2ab" name="GetWordsTest_HelloWorld" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="472709a5-ed17-83aa-8871-563821289395" name="GetWordsTest_SalutMonde" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bd3eb732-eb1b-d97c-73b3-b7b5713a6c96" name="GetNoteTest_Hello" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a5cb39dd-3e40-9de0-dfde-10007e01aac8" name="GetWordsTest_AllIntType" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="31eb12ff-2083-66e9-8b79-54f37d2476c3" name="GetWordsTest_SupplierId" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cd592884-08a9-5f8e-46ee-aca8f7e83a35" name="PluralizeTest_Gas" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">\r
+ <TestList name="ExpressionEqualityComparer" id="2b647753-badc-439b-8b2b-2d4f17633818" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">\r
+ <TestLinks>\r
+ <TestLink id="a720a5b0-e425-b1b8-77c2-08b4743c163c" name="Equality4Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="73dfcdd1-3e34-65c6-4739-ad0ccdaf32a4" name="Inequality1Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="822984b6-3c12-c768-2502-9487bd21d664" name="Inequality9Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="7849fc5d-4dd1-e9a7-6ed6-95a19027cf9b" name="Inequality5Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="aa5d6e4e-606f-8866-1b00-c51c8aed9087" name="Equality1Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="cd750f5d-9f73-a93a-bf6d-dcd8638cc716" name="Inequality4Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="b4ffb924-11d0-357f-2142-7543e27ae481" name="Equality2Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="f49b14c0-84dd-d37f-ff2a-189cdbeba0de" name="Equality3Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="505dde5b-4b43-668e-511c-ac698e26fb56" name="Equality9Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="0b3935c2-79c9-5eee-500f-e32a93291a89" name="Inequality6Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="f1766afc-7c1a-701c-a724-dff9e3577220" name="Inequality7Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ </TestLinks>\r
+ </TestList>\r
+ <TestList name="CSV" id="5f4e3dcf-0fc2-4adf-b040-9c43abd29825" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">\r
+ <TestLinks>\r
+ <TestLink id="8edfbff0-9217-34da-cdaf-99e6a87360ce" name="WriteArrayTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="2d6d8fc8-6aea-b1bf-4c6b-6cae6f82c10c" name="ArrayTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ </TestLinks>\r
+ </TestList>\r
+ <TestList name="Schema" id="830fbbb5-6aaf-4ec9-bc36-efa2bc59567b" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">\r
+ <TestLinks>\r
+ <TestLink id="1728b8be-195f-aa0c-e8d8-702d9ad1d982" name="UnpackDbType3Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="e8f459b4-aab9-55d2-048c-9eb5f0efd342" name="UnpackDbType4Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="75e74d64-a3a6-d020-91f1-b7feb4ffc761" name="UnpackDbType1Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="c85281a2-126f-f6f6-0e5b-ed8839b957c7" name="ToEnumTest2" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="32256574-4f17-0ea9-ce56-d7d293290ad7" name="UnpackDbType2Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="6e28524c-ecac-ad63-4e5f-851a4434d059" name="ToEnumTest1" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="c7522bbc-978c-ff87-a01f-08984f1f2a5a" name="UnpackDbType5Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ </TestLinks>\r
+ </TestList>\r
+ <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">\r
+ <RunConfiguration id="4bf8ab57-0a3e-42e7-8cf7-3cb20d6d9ec5" name="Local Test Run" storage="localtestrun.testrunconfig" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ </TestList>\r
+ <TestList name="Words" id="f8d65c83-5ce4-41c6-bc6f-1d69d7864af4" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">\r
+ <TestLinks>\r
+ <TestLink id="6725f22f-ec10-69d7-54a8-9c50c606ee5b" name="GetWordsTest_MTER" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="a5bc14f4-48a5-a893-4380-2892c02cbfa2" name="PluralizeTest_Oeuf" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="12669cd0-dfb6-75ab-f5bd-51b9a3b01968" name="GetWordsTest_HireDate" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="e1ae0ada-9524-3d3e-b80e-852e1f25f2a0" name="GetWordsTest_CustomerId" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="78acae99-7693-d338-ab01-ff8a20006492" name="InvalidCharactersLanguageTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="ab308983-5e9f-518e-b1a6-2d0593f6fdd5" name="GetWordsTest_UnitsInStock" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="6e6c1134-640f-dccf-48b3-3b5c74fe3922" name="GetWordsTest_MyTableName" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="b8a2445e-4a62-22e1-5938-db9122337ff4" name="GetWordsTest_MyTableName2" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="bf13d4b8-d3d9-82c9-93ce-2f647ed67d96" name="PluralizeTest_Cou" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="353d788c-2a7a-2852-2fa1-ea495eabdcf4" name="GetWordsTest_QuantityPerUnit" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="a1a16112-1dcc-e5a0-e742-ccf55018c6cf" name="GetNoteTest_PerUnit" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="2cc22302-cd39-930f-791c-fa6e3b766ee0" name="GetWordsTest_CatG" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="2cf6ad6a-85d1-06c2-7e4d-7ebfc4b9a68a" name="PluralizeTest_Bijou" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="34b7d48e-4996-241e-db4d-8ed9ef738baf" name="InvalidCharactersLanguage2Test" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="429d6969-deff-9c12-cbf9-ecaf63830dc6" name="InvalidCharactersCaseTest" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="aff15bbe-7c82-54d4-c229-3a5bb1bf69e5" name="GetWordsTest_FkProdCatG" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="892bf6b0-bc14-0a43-f508-643f944bbda8" name="GetNoteTest_ToothPaste" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="517a1fd1-fbf0-5c1d-4d72-31e7b72ba2ab" name="GetWordsTest_HelloWorld" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="472709a5-ed17-83aa-8871-563821289395" name="GetWordsTest_SalutMonde" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="bd3eb732-eb1b-d97c-73b3-b7b5713a6c96" name="GetNoteTest_Hello" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="a5cb39dd-3e40-9de0-dfde-10007e01aac8" name="GetWordsTest_AllIntType" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="31eb12ff-2083-66e9-8b79-54f37d2476c3" name="GetWordsTest_SupplierId" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <TestLink id="cd592884-08a9-5f8e-46ee-aca8f7e83a35" name="PluralizeTest_Gas" storage="..\tests\dblinqtest\bin\debug\dblinqtest.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ </TestLinks>\r
+ </TestList>\r
</TestLists>
\ No newline at end of file
+\r
Microsoft Visual Studio Solution File, Format Version 10.00\r
# Visual C# Express 2008\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Mysql.Example", "..\examples\DbLinq.Mysql.Example\DbLinq.Mysql.Example.csproj", "{B8E7590F-1EA8-49AE-9808-A36C8A67E322}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.MySql.Example", "..\examples\DbLinq.MySql.Example\DbLinq.MySql.Example.csproj", "{B8E7590F-1EA8-49AE-9808-A36C8A67E322}"\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq", "DbLinq\DbLinq.csproj", "{7950197D-4122-49CB-9FD7-45E666BAFEC2}"\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.MySql", "DbLinq.MySql\DbLinq.MySql.csproj", "{FA8D1068-3341-4956-BF94-54C6A816BD9E}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Mysql", "..\tests\Test_NUnit\Test_NUnit_Mysql.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE4DB7CE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.MySql_test", "DbLinq.MySql\Test\DbLinq.MySql_test.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE4DB7CE}"\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualMetal", "VisualMetal\VisualMetal.csproj", "{05260362-DD1C-4DF4-890B-163D0A6D94B9}"\r
EndProject\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.PostgreSql", "DbLinq.PostgreSql\DbLinq.PostgreSql.csproj", "{32824F7E-9260-413C-B174-F3E315936FA7}"\r
EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NUnit_Pgsql", "..\tests\Test_NUnit\Test_NUnit_Pgsql.csproj", "{858BAFF7-542F-4DBB-940B-57333E4DB7CE}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Localization", "DbLinq.Localization\DbLinq.Localization.csproj", "{E636DAE5-1245-4ED1-A709-057935D20E24}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.PostgreSql_test", "DbLinq.PostgreSql\Test\DbLinq.PostgreSql_test.csproj", "{858BAFF7-542F-4DBB-940B-57333E4DB7CE}"\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Ingres", "DbLinq.Ingres\DbLinq.Ingres.csproj", "{90D57CD9-D704-409E-88A1-0F22AC79065A}"\r
EndProject\r
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Firebird", "DbLinq.Firebird\DbLinq.Firebird.csproj", "{E1AB58E4-357E-4031-90F3-6AABA9623047}"\r
EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq_test", "DbLinq\Test\DbLinq_test.csproj", "{408D1FEB-71F4-4666-ADAD-194616D99B94}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.SqlServer", "DbLinq.SqlServer\DbLinq.SqlServer.csproj", "{EA47FE75-0E41-4ABF-B355-9667E78072E9}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.SqlServer_test", "DbLinq.SqlServer\Test\DbLinq.SqlServer_test.csproj", "{A348FBCE-2246-48FF-9862-35553B4B284C}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.SqlServer_test_ndb", "DbLinq.SqlServer\Test\DbLinq.SqlServer_test_ndb.csproj", "{6661D6CB-8AE4-4CEF-A81E-8A4AFB6A1CEE}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbMetal_test", "DbMetal\Test\DbMetal_test.csproj", "{4A829353-5A69-4EFD-8CD7-92C9D5DEB102}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Sqlite_test", "DbLinq.Sqlite\Test\DbLinq.Sqlite_test.csproj", "{3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.SqlServer_test_strict", "DbLinq.SqlServer\Test\DbLinq.SqlServer_test_strict.csproj", "{D63B7158-6F23-4B35-9C39-871D37C9BAA6}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Firebird_test", "DbLinq.Firebird\Test\DbLinq.Firebird_test.csproj", "{6BC45425-283A-4D51-881A-D1E14A699D57}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Ingres_test", "DbLinq.Ingres\Test\DbLinq.Ingres_test.csproj", "{858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Oracle_test", "DbLinq.Oracle\Test\DbLinq.Oracle_test.csproj", "{858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Oracle_test_odp", "DbLinq.Oracle\Test\DbLinq.Oracle_test_odp.csproj", "{858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Sqlite_test_mono", "DbLinq.Sqlite\Test\DbLinq.Sqlite_test_mono.csproj", "{68267FB0-0771-4507-942F-395A1AE556FD}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq.Sqlite_test_mono_strict", "DbLinq.Sqlite\Test\DbLinq.Sqlite_test_mono_strict.csproj", "{06413209-2415-4541-8033-D5AAFF778A23}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbLinq_test_ndb_strict", "DbLinq\Test\DbLinq_test_ndb_strict.csproj", "{AB60629C-6B19-4465-89AA-DBD7A0428F4B}"\r
+EndProject\r
Global\r
GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
Debug|Any CPU = Debug|Any CPU\r
{858BAFF7-542F-4DBB-940B-57333E4DB7CE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
{858BAFF7-542F-4DBB-940B-57333E4DB7CE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
{858BAFF7-542F-4DBB-940B-57333E4DB7CE}.Release|Any CPU.Build.0 = Release|Any CPU\r
- {E636DAE5-1245-4ED1-A709-057935D20E24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
- {E636DAE5-1245-4ED1-A709-057935D20E24}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
- {E636DAE5-1245-4ED1-A709-057935D20E24}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
- {E636DAE5-1245-4ED1-A709-057935D20E24}.Release|Any CPU.Build.0 = Release|Any CPU\r
{90D57CD9-D704-409E-88A1-0F22AC79065A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
{90D57CD9-D704-409E-88A1-0F22AC79065A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
{90D57CD9-D704-409E-88A1-0F22AC79065A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
{E1AB58E4-357E-4031-90F3-6AABA9623047}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
{E1AB58E4-357E-4031-90F3-6AABA9623047}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
{E1AB58E4-357E-4031-90F3-6AABA9623047}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {408D1FEB-71F4-4666-ADAD-194616D99B94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {408D1FEB-71F4-4666-ADAD-194616D99B94}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {408D1FEB-71F4-4666-ADAD-194616D99B94}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {408D1FEB-71F4-4666-ADAD-194616D99B94}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {EA47FE75-0E41-4ABF-B355-9667E78072E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {EA47FE75-0E41-4ABF-B355-9667E78072E9}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {EA47FE75-0E41-4ABF-B355-9667E78072E9}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {EA47FE75-0E41-4ABF-B355-9667E78072E9}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {A348FBCE-2246-48FF-9862-35553B4B284C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {A348FBCE-2246-48FF-9862-35553B4B284C}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {A348FBCE-2246-48FF-9862-35553B4B284C}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {A348FBCE-2246-48FF-9862-35553B4B284C}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {6661D6CB-8AE4-4CEF-A81E-8A4AFB6A1CEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {6661D6CB-8AE4-4CEF-A81E-8A4AFB6A1CEE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {6661D6CB-8AE4-4CEF-A81E-8A4AFB6A1CEE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {6661D6CB-8AE4-4CEF-A81E-8A4AFB6A1CEE}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {4A829353-5A69-4EFD-8CD7-92C9D5DEB102}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {4A829353-5A69-4EFD-8CD7-92C9D5DEB102}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {4A829353-5A69-4EFD-8CD7-92C9D5DEB102}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {4A829353-5A69-4EFD-8CD7-92C9D5DEB102}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {3B13F240-D5E3-4BD4-BA4B-8CBDEE18207A}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {D63B7158-6F23-4B35-9C39-871D37C9BAA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {D63B7158-6F23-4B35-9C39-871D37C9BAA6}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {D63B7158-6F23-4B35-9C39-871D37C9BAA6}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {D63B7158-6F23-4B35-9C39-871D37C9BAA6}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {6BC45425-283A-4D51-881A-D1E14A699D57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {6BC45425-283A-4D51-881A-D1E14A699D57}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {6BC45425-283A-4D51-881A-D1E14A699D57}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {6BC45425-283A-4D51-881A-D1E14A699D57}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {858BAFF7-542F-4DBB-9C9B-57FCDE0DB7CE}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {858BAFF7-533F-4DBB-9C9B-57FCDE4DB7CE}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {858BAFE8-533F-4DBB-9C9B-57FCDE4DB7CE}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {68267FB0-0771-4507-942F-395A1AE556FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {68267FB0-0771-4507-942F-395A1AE556FD}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {68267FB0-0771-4507-942F-395A1AE556FD}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {68267FB0-0771-4507-942F-395A1AE556FD}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {06413209-2415-4541-8033-D5AAFF778A23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {06413209-2415-4541-8033-D5AAFF778A23}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {06413209-2415-4541-8033-D5AAFF778A23}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {06413209-2415-4541-8033-D5AAFF778A23}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {AB60629C-6B19-4465-89AA-DBD7A0428F4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {AB60629C-6B19-4465-89AA-DBD7A0428F4B}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {AB60629C-6B19-4465-89AA-DBD7A0428F4B}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {AB60629C-6B19-4465-89AA-DBD7A0428F4B}.Release|Any CPU.Build.0 = Release|Any CPU\r
EndGlobalSection\r
GlobalSection(SolutionProperties) = preSolution\r
HideSolutionNode = FALSE\r
EndGlobalSection\r
+ GlobalSection(MonoDevelopProperties) = preSolution\r
+ version = 0.1\r
+ StartupItem = ..\examples\DbLinq.MySql.Example\DbLinq.MySql.Example.csproj\r
+ EndGlobalSection\r
EndGlobal\r
-<?xml version="1.0" encoding="UTF-8"?>
-<TestRunConfiguration name="Local Test Run" id="4bf8ab57-0a3e-42e7-8cf7-3cb20d6d9ec5" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
- <Description>This is a default test run configuration for a local test run.</Description>
- <CodeCoverage enabled="true" keyFile="DbLinq.snk">
- <Regular>
- <CodeCoverageItem binaryFile="DbLinq\bin\DbLinq.dll" pdbFile="DbLinq\bin\DbLinq.pdb" instrumentInPlace="true" />
- </Regular>
- </CodeCoverage>
- <TestTypeSpecific>
- <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
- <Browser name="Internet Explorer 7.0">
- <Headers>
- <Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />
- <Header name="Accept" value="*/*" />
- <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
- <Header name="Accept-Encoding" value="GZIP" />
- </Headers>
- </Browser>
- <Network Name="LAN" BandwidthInKbps="0" />
- </WebTestRunConfiguration>
- </TestTypeSpecific>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<TestRunConfiguration name="Local Test Run" id="4bf8ab57-0a3e-42e7-8cf7-3cb20d6d9ec5" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">\r
+ <Description>This is a default test run configuration for a local test run.</Description>\r
+ <CodeCoverage enabled="true" keyFile="DbLinq.snk">\r
+ <Regular>\r
+ <CodeCoverageItem binaryFile="DbLinq\bin\DbLinq.dll" pdbFile="DbLinq\bin\DbLinq.pdb" instrumentInPlace="true" />\r
+ </Regular>\r
+ </CodeCoverage>\r
+ <TestTypeSpecific>\r
+ <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">\r
+ <Browser name="Internet Explorer 7.0">\r
+ <Headers>\r
+ <Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />\r
+ <Header name="Accept" value="*/*" />\r
+ <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />\r
+ <Header name="Accept-Encoding" value="GZIP" />\r
+ </Headers>\r
+ </Browser>\r
+ <Network Name="LAN" BandwidthInKbps="0" />\r
+ </WebTestRunConfiguration>\r
+ </TestTypeSpecific>\r
</TestRunConfiguration>
\ No newline at end of file