This commit is contained in:
@@ -52,9 +52,6 @@
|
|||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<None Include="app.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
@@ -5465,7 +5465,7 @@ namespace DynamORM
|
|||||||
|
|
||||||
mainResult = cache.EnumerateReader().ToList();
|
mainResult = cache.EnumerateReader().ToList();
|
||||||
}
|
}
|
||||||
else if (argType.IsValueType)
|
else if (argType.IsValueType || types[0] == typeof(string))
|
||||||
{
|
{
|
||||||
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
|
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
|
||||||
IList listInstance = (IList)Activator.CreateInstance(listType);
|
IList listInstance = (IList)Activator.CreateInstance(listType);
|
||||||
@@ -5481,6 +5481,25 @@ namespace DynamORM
|
|||||||
|
|
||||||
mainResult = listInstance;
|
mainResult = listInstance;
|
||||||
}
|
}
|
||||||
|
else if (types[0] == typeof(Guid))
|
||||||
|
{
|
||||||
|
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
|
||||||
|
IList listInstance = (IList)Activator.CreateInstance(listType);
|
||||||
|
|
||||||
|
object defVal = listType.GetDefaultValue();
|
||||||
|
|
||||||
|
IDataReader cache = null;
|
||||||
|
using (IDataReader rdr = cmd.ExecuteReader())
|
||||||
|
cache = rdr.CachedReader();
|
||||||
|
|
||||||
|
while (cache.Read())
|
||||||
|
{
|
||||||
|
if (cache[0] == DBNull.Value && Guid.TryParse(cache[0].ToString(), out Guid g))
|
||||||
|
listInstance.Add(g);
|
||||||
|
}
|
||||||
|
|
||||||
|
mainResult = listInstance;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(argType);
|
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(argType);
|
||||||
@@ -5494,12 +5513,18 @@ namespace DynamORM
|
|||||||
mainResult = cache.EnumerateReader().MapEnumerable(argType).ToList();
|
mainResult = cache.EnumerateReader().MapEnumerable(argType).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (types[0].IsValueType)
|
else if (types[0].IsValueType || types[0] == typeof(string))
|
||||||
{
|
{
|
||||||
mainResult = cmd.ExecuteScalar();
|
mainResult = cmd.ExecuteScalar();
|
||||||
if (mainResult != DBNull.Value)
|
if (mainResult != DBNull.Value)
|
||||||
mainResult = types[0].CastObject(mainResult);
|
mainResult = types[0].CastObject(mainResult);
|
||||||
}
|
}
|
||||||
|
else if (types[0] == typeof(Guid))
|
||||||
|
{
|
||||||
|
mainResult = cmd.ExecuteScalar();
|
||||||
|
if (mainResult != DBNull.Value && Guid.TryParse(mainResult.ToString(), out Guid g))
|
||||||
|
mainResult = g;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(types[0]);
|
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(types[0]);
|
||||||
|
|||||||
@@ -55,13 +55,13 @@ Global
|
|||||||
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|x86.Build.0 = Release|x86
|
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|x86.Build.0 = Release|x86
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|x86.ActiveCfg = Debug|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|x86.Build.0 = Debug|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|x86.Build.0 = Debug|x86
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Any CPU.ActiveCfg = Release|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Any CPU.ActiveCfg = Release|x86
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Mixed Platforms.Build.0 = Release|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|x86.ActiveCfg = Release|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|x86.ActiveCfg = Release|x86
|
||||||
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|x86.Build.0 = Release|x86
|
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|x86.Build.0 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ namespace DynamORM
|
|||||||
|
|
||||||
mainResult = cache.EnumerateReader().ToList();
|
mainResult = cache.EnumerateReader().ToList();
|
||||||
}
|
}
|
||||||
else if (argType.IsValueType)
|
else if (argType.IsValueType || types[0] == typeof(string))
|
||||||
{
|
{
|
||||||
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
|
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
|
||||||
IList listInstance = (IList)Activator.CreateInstance(listType);
|
IList listInstance = (IList)Activator.CreateInstance(listType);
|
||||||
@@ -219,6 +219,25 @@ namespace DynamORM
|
|||||||
|
|
||||||
mainResult = listInstance;
|
mainResult = listInstance;
|
||||||
}
|
}
|
||||||
|
else if (types[0] == typeof(Guid))
|
||||||
|
{
|
||||||
|
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
|
||||||
|
IList listInstance = (IList)Activator.CreateInstance(listType);
|
||||||
|
|
||||||
|
object defVal = listType.GetDefaultValue();
|
||||||
|
|
||||||
|
IDataReader cache = null;
|
||||||
|
using (IDataReader rdr = cmd.ExecuteReader())
|
||||||
|
cache = rdr.CachedReader();
|
||||||
|
|
||||||
|
while (cache.Read())
|
||||||
|
{
|
||||||
|
if (cache[0] == DBNull.Value && Guid.TryParse(cache[0].ToString(), out Guid g))
|
||||||
|
listInstance.Add(g);
|
||||||
|
}
|
||||||
|
|
||||||
|
mainResult = listInstance;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(argType);
|
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(argType);
|
||||||
@@ -232,12 +251,18 @@ namespace DynamORM
|
|||||||
mainResult = cache.EnumerateReader().MapEnumerable(argType).ToList();
|
mainResult = cache.EnumerateReader().MapEnumerable(argType).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (types[0].IsValueType)
|
else if (types[0].IsValueType || types[0] == typeof(string))
|
||||||
{
|
{
|
||||||
mainResult = cmd.ExecuteScalar();
|
mainResult = cmd.ExecuteScalar();
|
||||||
if (mainResult != DBNull.Value)
|
if (mainResult != DBNull.Value)
|
||||||
mainResult = types[0].CastObject(mainResult);
|
mainResult = types[0].CastObject(mainResult);
|
||||||
}
|
}
|
||||||
|
else if (types[0] == typeof(Guid))
|
||||||
|
{
|
||||||
|
mainResult = cmd.ExecuteScalar();
|
||||||
|
if (mainResult != DBNull.Value && Guid.TryParse(mainResult.ToString(), out Guid g))
|
||||||
|
mainResult = g;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(types[0]);
|
DynamicTypeMap mapper = DynamicMapperCache.GetMapper(types[0]);
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using System.Linq;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using DynamORM;
|
using DynamORM;
|
||||||
|
|
||||||
namespace Tester
|
namespace Tester
|
||||||
@@ -8,9 +10,9 @@ namespace Tester
|
|||||||
private static DynamicDatabase GetORM()
|
private static DynamicDatabase GetORM()
|
||||||
{
|
{
|
||||||
return new DynamicDatabase(System.Data.SqlClient.SqlClientFactory.Instance,
|
return new DynamicDatabase(System.Data.SqlClient.SqlClientFactory.Instance,
|
||||||
//"packet size=4096;User Id=sa;Password=Sa123;data source=192.168.1.9,1434;initial catalog=MAH_Melle-GAGARIN;",
|
"packet size=4096;User Id=sa;Password=sa123;data source=127.0.0.1,1435;initial catalog=MOM_LANGOWSKI_WMS_TEST;",
|
||||||
//"packet size=4096;User Id=sa;Password=sa123;data source=192.168.1.9,1433;initial catalog=MOM_NEXT_Florentyna_WMS_PROD;",
|
//"packet size=4096;User Id=sa;Password=sa123;data source=192.168.1.9,1433;initial catalog=MOM_NEXT_Florentyna_WMS_PROD;",
|
||||||
"packet size=4096;User Id=sa;Password=sa123;data source=192.168.0.6;initial catalog=DynamORM;",
|
//"packet size=4096;User Id=sa;Password=sa123;data source=127.0.0.1;initial catalog=DynamORM;",
|
||||||
DynamicDatabaseOptions.SingleConnection | DynamicDatabaseOptions.SingleTransaction | DynamicDatabaseOptions.SupportSchema |
|
DynamicDatabaseOptions.SingleConnection | DynamicDatabaseOptions.SingleTransaction | DynamicDatabaseOptions.SupportSchema |
|
||||||
DynamicDatabaseOptions.SupportStoredProcedures | DynamicDatabaseOptions.SupportTop | DynamicDatabaseOptions.DumpCommands);
|
DynamicDatabaseOptions.SupportStoredProcedures | DynamicDatabaseOptions.SupportTop | DynamicDatabaseOptions.DumpCommands);
|
||||||
|
|
||||||
@@ -22,30 +24,34 @@ namespace Tester
|
|||||||
|
|
||||||
private static void Main(string[] args)
|
private static void Main(string[] args)
|
||||||
{
|
{
|
||||||
var c = new System.Data.SqlClient.SqlConnection("packet size=4096;User Id=sa;Password=sa123;data source=192.168.0.6;initial catalog=DynamORM;");
|
//var c = new System.Data.SqlClient.SqlConnection("packet size=4096;User Id=sa;Password=sa123;data source=192.168.0.6;initial catalog=DynamORM;");
|
||||||
|
|
||||||
using (var db = GetORM())
|
using (var db = GetORM())
|
||||||
{
|
{
|
||||||
try
|
//try
|
||||||
{
|
//{
|
||||||
db.Execute("DROP TABLE Experiments ");
|
// db.Execute("DROP TABLE Experiments ");
|
||||||
}
|
//}
|
||||||
catch { }
|
//catch { }
|
||||||
|
|
||||||
db.Execute("CREATE TABLE Experiments (t1 nvarchar(50) NOT NULL DEFAULT N'', t2 varchar(50) NOT NULL DEFAULT '');");
|
//db.Execute("CREATE TABLE Experiments (t1 nvarchar(50) NOT NULL DEFAULT N'', t2 varchar(50) NOT NULL DEFAULT '');");
|
||||||
|
|
||||||
var q = db.From(x => x.Experiments.As(x.e1));
|
//var q = db.From(x => x.Experiments.As(x.e1));
|
||||||
q
|
//q
|
||||||
.Where(x => x.t2 = "Dupa")
|
// .Where(x => x.t2 = "Dupa")
|
||||||
.Where(x => x.Exists(
|
// .Where(x => x.Exists(
|
||||||
q.SubQuery()
|
// q.SubQuery()
|
||||||
.From(y => y.Experiments.As(x.e2))
|
// .From(y => y.Experiments.As(x.e2))
|
||||||
.Where(y => y.e2.t1 == y.e1.t1)))
|
// .Where(y => y.e2.t1 == y.e1.t1)))
|
||||||
.Execute().ToList();
|
// .Execute().ToList();
|
||||||
|
|
||||||
db.Execute("DROP TABLE Experiments ");
|
//db.Execute("DROP TABLE Experiments ");
|
||||||
|
|
||||||
var resL = db.Procedures.GetProductDesc<IOrderedEnumerable<GetProductDesc_Result>>();
|
db.Procedures.usp_API_Generate_Doc_Number<string>(key: Guid.NewGuid(), mdn_id: "ZZ");
|
||||||
|
|
||||||
|
var resL = (db.Procedures.GetProductDesc<IList<GetProductDesc_Result>>() as IEnumerable<dynamic>)
|
||||||
|
.Cast<GetProductDesc_Result>()
|
||||||
|
.ToArray();
|
||||||
var res = db.Procedures.GetProductDesc_withparameters<GetProductDesc_Result>(PID: 707);
|
var res = db.Procedures.GetProductDesc_withparameters<GetProductDesc_Result>(PID: 707);
|
||||||
res = db.Procedures.GetProductDesc_withDefaultparameters<GetProductDesc_Result>();
|
res = db.Procedures.GetProductDesc_withDefaultparameters<GetProductDesc_Result>();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user