提交 46ed9883 编写于 作者: D David Chell

Added test for Posgresql Array parameters

上级 eed8b6f5
...@@ -65,6 +65,9 @@ ...@@ -65,6 +65,9 @@
<Reference Include="NHibernate.ByteCode.LinFu"> <Reference Include="NHibernate.ByteCode.LinFu">
<HintPath>NHibernate\NHibernate.ByteCode.LinFu.dll</HintPath> <HintPath>NHibernate\NHibernate.ByteCode.LinFu.dll</HintPath>
</Reference> </Reference>
<Reference Include="Npgsql">
<HintPath>..\..\..\WebSites\PoolBooking\bin\Npgsql.dll</HintPath>
</Reference>
<Reference Include="ServiceStack.Common, Version=1.0.4110.36238, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="ServiceStack.Common, Version=1.0.4110.36238, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>OrmLite\ServiceStack.Common.dll</HintPath> <HintPath>OrmLite\ServiceStack.Common.dll</HintPath>
...@@ -183,7 +186,7 @@ ...@@ -183,7 +186,7 @@
<LastGenOutput>DataClasses.designer.cs</LastGenOutput> <LastGenOutput>DataClasses.designer.cs</LastGenOutput>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
<None Include="packages.config" /> <None Include="packages.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
......
using System; #define POSTGRESQL
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Linq; using System.Linq;
...@@ -8,6 +9,10 @@ ...@@ -8,6 +9,10 @@
using System.Data; using System.Data;
using System.Collections; using System.Collections;
using System.Reflection; using System.Reflection;
#if POSTGRESQL
using Dapper.Contrib.Extensions;
using Npgsql;
#endif
namespace SqlMapper namespace SqlMapper
{ {
...@@ -1335,5 +1340,49 @@ public enum ShortEnum : short ...@@ -1335,5 +1340,49 @@ public enum ShortEnum : short
{ {
Zero = 0, One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6 Zero = 0, One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6
} }
#if POSTGRESQL
[Table("tcat")]
class Cat
{
[Key]
public int Id { get; set; }
public string Breed { get; set; }
public string Name { get; set; }
}
Cat[] Cats = {
new Cat() { Breed = "Abyssinian", Name="KACTUS"},
new Cat() { Breed = "Aegean cat", Name="KADAFFI"},
new Cat() { Breed = "American Bobtail", Name="KANJI"},
new Cat() { Breed = "Balinese", Name="MACARONI"},
new Cat() { Breed = "Bombay", Name="MACAULAY"},
new Cat() { Breed = "Burmese", Name="MACBETH"},
new Cat() { Breed = "Chartreux", Name="MACGYVER"},
new Cat() { Breed = "German Rex", Name="MACKENZIE"},
new Cat() { Breed = "Javanese", Name="MADISON"},
new Cat() { Breed = "Persian", Name="MAGNA"}
};
public void TestPostresqlArrayParameters()
{
using (var conn = new NpgsqlConnection("Server=localhost;Port=5432;User Id=dappertest;Password=dapperpass;Database=dappertest;Encoding=UNICODE"))
{
conn.Open();
IDbTransaction transaction = conn.BeginTransaction();
conn.Execute("create table tcat ( id serial not null, breed character varying(20) not null, name character varying (20) not null);");
foreach (var cat in Cats)
conn.Insert(cat);
var r = conn.Query<Cat>("select * from tcat where id=any(:catids)", new { catids = new[] { 1, 3, 5 } });
r.Count().IsEqualTo(3);
r.Count(c => c.Id == 1).IsEqualTo(1);
r.Count(c => c.Id == 3).IsEqualTo(1);
r.Count(c => c.Id == 5).IsEqualTo(1);
transaction.Rollback();
}
}
#endif
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册