Merge branch 'pischke-master'
This commit is contained in:
@@ -57,4 +57,4 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("7.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("7.0.1.18322")]
|
||||
[assembly: AssemblyFileVersion("7.0.1.18329")]
|
||||
|
||||
@@ -454,7 +454,57 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
|
||||
Assert.AreEqual("432", dt[0].CustomerID);
|
||||
}
|
||||
|
||||
#if !(NET20 || PORTABLE || PORTABLE40)
|
||||
[Test]
|
||||
public void DeserializedTypedDataTableWithConverter()
|
||||
{
|
||||
string json = @"{
|
||||
""TestTable"": [
|
||||
{
|
||||
""DateTimeValue"": ""2015-11-28T00:00:00""
|
||||
},
|
||||
{
|
||||
""DateTimeValue"": null
|
||||
}
|
||||
]
|
||||
}";
|
||||
|
||||
SqlTypesDataSet ds = JsonConvert.DeserializeObject<SqlTypesDataSet>(json, new SqlDateTimeConverter());
|
||||
|
||||
Assert.AreEqual(new System.Data.SqlTypes.SqlDateTime(2015, 11, 28), ds.TestTable[0].DateTimeValue);
|
||||
Assert.AreEqual(System.Data.SqlTypes.SqlDateTime.Null, ds.TestTable[1].DateTimeValue);
|
||||
|
||||
string json2 = JsonConvert.SerializeObject(ds, Formatting.Indented, new SqlDateTimeConverter());
|
||||
|
||||
Assert.AreEqual(json, json2);
|
||||
Console.WriteLine(json2);
|
||||
}
|
||||
|
||||
internal class SqlDateTimeConverter : JsonConverter
|
||||
{
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return typeof(System.Data.SqlTypes.SqlDateTime).IsAssignableFrom(objectType);
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
if (reader.Value == null || reader.Value == DBNull.Value)
|
||||
return System.Data.SqlTypes.SqlDateTime.Null;
|
||||
else
|
||||
return new System.Data.SqlTypes.SqlDateTime((DateTime)serializer.Deserialize(reader));
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
if (((System.Data.SqlTypes.SqlDateTime)value).IsNull)
|
||||
writer.WriteNull();
|
||||
else
|
||||
writer.WriteValue(((System.Data.SqlTypes.SqlDateTime)value).Value);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -79,6 +79,7 @@
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data.Entity">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
@@ -241,6 +242,11 @@
|
||||
<Compile Include="TestObjects\SearchResult.cs" />
|
||||
<Compile Include="TestObjects\SelectListItem.cs" />
|
||||
<Compile Include="TestObjects\Shape.cs" />
|
||||
<Compile Include="TestObjects\SqlTypesDataSet.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestObjects\StructTest.cs" />
|
||||
<Compile Include="TestObjects\TestComponent.cs" />
|
||||
<Compile Include="TestObjects\TestComponentSimple.cs" />
|
||||
@@ -355,6 +361,17 @@
|
||||
<Content Include="SpaceShipV2.bson">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xsc">
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xsd">
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>SqlTypesDataSet.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xss">
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data.Entity">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
@@ -363,6 +364,11 @@
|
||||
<Compile Include="TestObjects\SearchResult.cs" />
|
||||
<Compile Include="TestObjects\SelectListItem.cs" />
|
||||
<Compile Include="TestObjects\Shape.cs" />
|
||||
<Compile Include="TestObjects\SqlTypesDataSet.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestObjects\StructTest.cs" />
|
||||
<Compile Include="TestObjects\TestComponent.cs" />
|
||||
<Compile Include="TestObjects\TestComponentSimple.cs" />
|
||||
@@ -540,6 +546,17 @@
|
||||
<Content Include="SpaceShipV2.bson">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xsc">
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xsd">
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>SqlTypesDataSet.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xss">
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />
|
||||
|
||||
@@ -424,6 +424,11 @@
|
||||
<Compile Include="TestObjects\SetOnlyPropertyClass2.cs" />
|
||||
<Compile Include="TestObjects\Shape.cs" />
|
||||
<Compile Include="TestObjects\Shortie.cs" />
|
||||
<Compile Include="TestObjects\SqlTypesDataSet.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestObjects\Store.cs" />
|
||||
<Compile Include="TestObjects\StoreColor.cs" />
|
||||
<Compile Include="TestObjects\StructTest.cs" />
|
||||
@@ -529,6 +534,17 @@
|
||||
<Content Include="SpaceShipV2.bson">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xsc">
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>SqlTypesDataSet.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="TestObjects\SqlTypesDataSet.xss">
|
||||
<DependentUpon>SqlTypesDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EntityDeploy Include="FileSystemEntityModel.edmx">
|
||||
|
||||
@@ -76,4 +76,4 @@ using System.Security;
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("7.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("7.0.1.18322")]
|
||||
[assembly: AssemblyFileVersion("7.0.1.18329")]
|
||||
|
||||
@@ -0,0 +1,601 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.34209
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace Newtonsoft.Json.Tests.TestObjects {
|
||||
|
||||
|
||||
/// <summary>
|
||||
///Represents a strongly typed in-memory cache of data.
|
||||
///</summary>
|
||||
[global::System.Serializable()]
|
||||
[global::System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[global::System.ComponentModel.ToolboxItem(true)]
|
||||
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]
|
||||
[global::System.Xml.Serialization.XmlRootAttribute("SqlTypesDataSet")]
|
||||
[global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]
|
||||
public partial class SqlTypesDataSet : global::System.Data.DataSet {
|
||||
|
||||
private TestTableDataTable tableTestTable;
|
||||
|
||||
private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public SqlTypesDataSet() {
|
||||
this.BeginInit();
|
||||
this.InitClass();
|
||||
global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
|
||||
base.Tables.CollectionChanged += schemaChangedHandler;
|
||||
base.Relations.CollectionChanged += schemaChangedHandler;
|
||||
this.EndInit();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected SqlTypesDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
|
||||
base(info, context, false) {
|
||||
if ((this.IsBinarySerialized(info, context) == true)) {
|
||||
this.InitVars(false);
|
||||
global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
|
||||
this.Tables.CollectionChanged += schemaChangedHandler1;
|
||||
this.Relations.CollectionChanged += schemaChangedHandler1;
|
||||
return;
|
||||
}
|
||||
string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
|
||||
if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
|
||||
global::System.Data.DataSet ds = new global::System.Data.DataSet();
|
||||
ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
|
||||
if ((ds.Tables["TestTable"] != null)) {
|
||||
base.Tables.Add(new TestTableDataTable(ds.Tables["TestTable"]));
|
||||
}
|
||||
this.DataSetName = ds.DataSetName;
|
||||
this.Prefix = ds.Prefix;
|
||||
this.Namespace = ds.Namespace;
|
||||
this.Locale = ds.Locale;
|
||||
this.CaseSensitive = ds.CaseSensitive;
|
||||
this.EnforceConstraints = ds.EnforceConstraints;
|
||||
this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
|
||||
this.InitVars();
|
||||
}
|
||||
else {
|
||||
this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
|
||||
}
|
||||
this.GetSerializationData(info, context);
|
||||
global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
|
||||
base.Tables.CollectionChanged += schemaChangedHandler;
|
||||
this.Relations.CollectionChanged += schemaChangedHandler;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.Browsable(false)]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
|
||||
public TestTableDataTable TestTable {
|
||||
get {
|
||||
return this.tableTestTable;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.BrowsableAttribute(true)]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
|
||||
public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {
|
||||
get {
|
||||
return this._schemaSerializationMode;
|
||||
}
|
||||
set {
|
||||
this._schemaSerializationMode = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
|
||||
public new global::System.Data.DataTableCollection Tables {
|
||||
get {
|
||||
return base.Tables;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
|
||||
public new global::System.Data.DataRelationCollection Relations {
|
||||
get {
|
||||
return base.Relations;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void InitializeDerivedDataSet() {
|
||||
this.BeginInit();
|
||||
this.InitClass();
|
||||
this.EndInit();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public override global::System.Data.DataSet Clone() {
|
||||
SqlTypesDataSet cln = ((SqlTypesDataSet)(base.Clone()));
|
||||
cln.InitVars();
|
||||
cln.SchemaSerializationMode = this.SchemaSerializationMode;
|
||||
return cln;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override bool ShouldSerializeTables() {
|
||||
return false;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override bool ShouldSerializeRelations() {
|
||||
return false;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {
|
||||
if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
|
||||
this.Reset();
|
||||
global::System.Data.DataSet ds = new global::System.Data.DataSet();
|
||||
ds.ReadXml(reader);
|
||||
if ((ds.Tables["TestTable"] != null)) {
|
||||
base.Tables.Add(new TestTableDataTable(ds.Tables["TestTable"]));
|
||||
}
|
||||
this.DataSetName = ds.DataSetName;
|
||||
this.Prefix = ds.Prefix;
|
||||
this.Namespace = ds.Namespace;
|
||||
this.Locale = ds.Locale;
|
||||
this.CaseSensitive = ds.CaseSensitive;
|
||||
this.EnforceConstraints = ds.EnforceConstraints;
|
||||
this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
|
||||
this.InitVars();
|
||||
}
|
||||
else {
|
||||
this.ReadXml(reader);
|
||||
this.InitVars();
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {
|
||||
global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();
|
||||
this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));
|
||||
stream.Position = 0;
|
||||
return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal void InitVars() {
|
||||
this.InitVars(true);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal void InitVars(bool initTable) {
|
||||
this.tableTestTable = ((TestTableDataTable)(base.Tables["TestTable"]));
|
||||
if ((initTable == true)) {
|
||||
if ((this.tableTestTable != null)) {
|
||||
this.tableTestTable.InitVars();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
private void InitClass() {
|
||||
this.DataSetName = "SqlTypesDataSet";
|
||||
this.Prefix = "";
|
||||
this.Namespace = "http://tempuri.org/SqlTypesDataSet.xsd";
|
||||
this.EnforceConstraints = true;
|
||||
this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
this.tableTestTable = new TestTableDataTable();
|
||||
base.Tables.Add(this.tableTestTable);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
private bool ShouldSerializeTestTable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {
|
||||
if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {
|
||||
this.InitVars();
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
|
||||
SqlTypesDataSet ds = new SqlTypesDataSet();
|
||||
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
|
||||
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
|
||||
global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny();
|
||||
any.Namespace = ds.Namespace;
|
||||
sequence.Items.Add(any);
|
||||
type.Particle = sequence;
|
||||
global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
|
||||
if (xs.Contains(dsSchema.TargetNamespace)) {
|
||||
global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
|
||||
global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
|
||||
try {
|
||||
global::System.Xml.Schema.XmlSchema schema = null;
|
||||
dsSchema.Write(s1);
|
||||
for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
|
||||
schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
|
||||
s2.SetLength(0);
|
||||
schema.Write(s2);
|
||||
if ((s1.Length == s2.Length)) {
|
||||
s1.Position = 0;
|
||||
s2.Position = 0;
|
||||
for (; ((s1.Position != s1.Length)
|
||||
&& (s1.ReadByte() == s2.ReadByte())); ) {
|
||||
;
|
||||
}
|
||||
if ((s1.Position == s1.Length)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally {
|
||||
if ((s1 != null)) {
|
||||
s1.Close();
|
||||
}
|
||||
if ((s2 != null)) {
|
||||
s2.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
xs.Add(dsSchema);
|
||||
return type;
|
||||
}
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public delegate void TestTableRowChangeEventHandler(object sender, TestTableRowChangeEvent e);
|
||||
|
||||
/// <summary>
|
||||
///Represents the strongly named DataTable class.
|
||||
///</summary>
|
||||
[global::System.Serializable()]
|
||||
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
|
||||
public partial class TestTableDataTable : global::System.Data.TypedTableBase<TestTableRow> {
|
||||
|
||||
private global::System.Data.DataColumn columnDateTimeValue;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public TestTableDataTable() {
|
||||
this.TableName = "TestTable";
|
||||
this.BeginInit();
|
||||
this.InitClass();
|
||||
this.EndInit();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal TestTableDataTable(global::System.Data.DataTable table) {
|
||||
this.TableName = table.TableName;
|
||||
if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
|
||||
this.CaseSensitive = table.CaseSensitive;
|
||||
}
|
||||
if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
|
||||
this.Locale = table.Locale;
|
||||
}
|
||||
if ((table.Namespace != table.DataSet.Namespace)) {
|
||||
this.Namespace = table.Namespace;
|
||||
}
|
||||
this.Prefix = table.Prefix;
|
||||
this.MinimumCapacity = table.MinimumCapacity;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected TestTableDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
|
||||
base(info, context) {
|
||||
this.InitVars();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public global::System.Data.DataColumn DateTimeValueColumn {
|
||||
get {
|
||||
return this.columnDateTimeValue;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.Browsable(false)]
|
||||
public int Count {
|
||||
get {
|
||||
return this.Rows.Count;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public TestTableRow this[int index] {
|
||||
get {
|
||||
return ((TestTableRow)(this.Rows[index]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public event TestTableRowChangeEventHandler TestTableRowChanging;
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public event TestTableRowChangeEventHandler TestTableRowChanged;
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public event TestTableRowChangeEventHandler TestTableRowDeleting;
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public event TestTableRowChangeEventHandler TestTableRowDeleted;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public void AddTestTableRow(TestTableRow row) {
|
||||
this.Rows.Add(row);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public TestTableRow AddTestTableRow(System.Data.SqlTypes.SqlDateTime DateTimeValue) {
|
||||
TestTableRow rowTestTableRow = ((TestTableRow)(this.NewRow()));
|
||||
object[] columnValuesArray = new object[] {
|
||||
DateTimeValue};
|
||||
rowTestTableRow.ItemArray = columnValuesArray;
|
||||
this.Rows.Add(rowTestTableRow);
|
||||
return rowTestTableRow;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public override global::System.Data.DataTable Clone() {
|
||||
TestTableDataTable cln = ((TestTableDataTable)(base.Clone()));
|
||||
cln.InitVars();
|
||||
return cln;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override global::System.Data.DataTable CreateInstance() {
|
||||
return new TestTableDataTable();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal void InitVars() {
|
||||
this.columnDateTimeValue = base.Columns["DateTimeValue"];
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
private void InitClass() {
|
||||
this.columnDateTimeValue = new global::System.Data.DataColumn("DateTimeValue", typeof(global::System.Data.SqlTypes.SqlDateTime), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnDateTimeValue);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public TestTableRow NewTestTableRow() {
|
||||
return ((TestTableRow)(this.NewRow()));
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
|
||||
return new TestTableRow(builder);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override global::System.Type GetRowType() {
|
||||
return typeof(TestTableRow);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
|
||||
base.OnRowChanged(e);
|
||||
if ((this.TestTableRowChanged != null)) {
|
||||
this.TestTableRowChanged(this, new TestTableRowChangeEvent(((TestTableRow)(e.Row)), e.Action));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
|
||||
base.OnRowChanging(e);
|
||||
if ((this.TestTableRowChanging != null)) {
|
||||
this.TestTableRowChanging(this, new TestTableRowChangeEvent(((TestTableRow)(e.Row)), e.Action));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
|
||||
base.OnRowDeleted(e);
|
||||
if ((this.TestTableRowDeleted != null)) {
|
||||
this.TestTableRowDeleted(this, new TestTableRowChangeEvent(((TestTableRow)(e.Row)), e.Action));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
|
||||
base.OnRowDeleting(e);
|
||||
if ((this.TestTableRowDeleting != null)) {
|
||||
this.TestTableRowDeleting(this, new TestTableRowChangeEvent(((TestTableRow)(e.Row)), e.Action));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public void RemoveTestTableRow(TestTableRow row) {
|
||||
this.Rows.Remove(row);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
|
||||
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
|
||||
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
|
||||
SqlTypesDataSet ds = new SqlTypesDataSet();
|
||||
global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
|
||||
any1.Namespace = "http://www.w3.org/2001/XMLSchema";
|
||||
any1.MinOccurs = new decimal(0);
|
||||
any1.MaxOccurs = decimal.MaxValue;
|
||||
any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
|
||||
sequence.Items.Add(any1);
|
||||
global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
|
||||
any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
|
||||
any2.MinOccurs = new decimal(1);
|
||||
any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
|
||||
sequence.Items.Add(any2);
|
||||
global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
|
||||
attribute1.Name = "namespace";
|
||||
attribute1.FixedValue = ds.Namespace;
|
||||
type.Attributes.Add(attribute1);
|
||||
global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
|
||||
attribute2.Name = "tableTypeName";
|
||||
attribute2.FixedValue = "TestTableDataTable";
|
||||
type.Attributes.Add(attribute2);
|
||||
type.Particle = sequence;
|
||||
global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
|
||||
if (xs.Contains(dsSchema.TargetNamespace)) {
|
||||
global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
|
||||
global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
|
||||
try {
|
||||
global::System.Xml.Schema.XmlSchema schema = null;
|
||||
dsSchema.Write(s1);
|
||||
for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
|
||||
schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
|
||||
s2.SetLength(0);
|
||||
schema.Write(s2);
|
||||
if ((s1.Length == s2.Length)) {
|
||||
s1.Position = 0;
|
||||
s2.Position = 0;
|
||||
for (; ((s1.Position != s1.Length)
|
||||
&& (s1.ReadByte() == s2.ReadByte())); ) {
|
||||
;
|
||||
}
|
||||
if ((s1.Position == s1.Length)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally {
|
||||
if ((s1 != null)) {
|
||||
s1.Close();
|
||||
}
|
||||
if ((s2 != null)) {
|
||||
s2.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
xs.Add(dsSchema);
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///Represents strongly named DataRow class.
|
||||
///</summary>
|
||||
public partial class TestTableRow : global::System.Data.DataRow {
|
||||
|
||||
private TestTableDataTable tableTestTable;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal TestTableRow(global::System.Data.DataRowBuilder rb) :
|
||||
base(rb) {
|
||||
this.tableTestTable = ((TestTableDataTable)(this.Table));
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public System.Data.SqlTypes.SqlDateTime DateTimeValue {
|
||||
get {
|
||||
try {
|
||||
return ((global::System.Data.SqlTypes.SqlDateTime)(this[this.tableTestTable.DateTimeValueColumn]));
|
||||
}
|
||||
catch (global::System.InvalidCastException e) {
|
||||
throw new global::System.Data.StrongTypingException("The value for column \'DateTimeValue\' in table \'TestTable\' is DBNull.", e);
|
||||
}
|
||||
}
|
||||
set {
|
||||
this[this.tableTestTable.DateTimeValueColumn] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public bool IsDateTimeValueNull() {
|
||||
return this.IsNull(this.tableTestTable.DateTimeValueColumn);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public void SetDateTimeValueNull() {
|
||||
this[this.tableTestTable.DateTimeValueColumn] = global::System.Convert.DBNull;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///Row event argument class
|
||||
///</summary>
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public class TestTableRowChangeEvent : global::System.EventArgs {
|
||||
|
||||
private TestTableRow eventRow;
|
||||
|
||||
private global::System.Data.DataRowAction eventAction;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public TestTableRowChangeEvent(TestTableRow row, global::System.Data.DataRowAction action) {
|
||||
this.eventRow = row;
|
||||
this.eventAction = action;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public TestTableRow Row {
|
||||
get {
|
||||
return this.eventRow;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public global::System.Data.DataRowAction Action {
|
||||
get {
|
||||
return this.eventAction;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TableUISettings />
|
||||
</DataSetUISetting>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema id="SqlTypesDataSet" targetNamespace="http://tempuri.org/SqlTypesDataSet.xsd" xmlns:mstns="http://tempuri.org/SqlTypesDataSet.xsd" xmlns="http://tempuri.org/SqlTypesDataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
|
||||
<xs:annotation>
|
||||
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<Connections />
|
||||
<Tables />
|
||||
<Sources />
|
||||
</DataSource>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="SqlTypesDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="SqlTypesDataSet" msprop:Generator_UserDSName="SqlTypesDataSet">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="TestTable" msprop:Generator_TableClassName="TestTableDataTable" msprop:Generator_TableVarName="tableTestTable" msprop:Generator_TablePropName="TestTable" msprop:Generator_RowDeletingName="TestTableRowDeleting" msprop:Generator_RowChangingName="TestTableRowChanging" msprop:Generator_RowEvHandlerName="TestTableRowChangeEventHandler" msprop:Generator_RowDeletedName="TestTableRowDeleted" msprop:Generator_UserTableName="TestTable" msprop:Generator_RowChangedName="TestTableRowChanged" msprop:Generator_RowEvArgName="TestTableRowChangeEvent" msprop:Generator_RowClassName="TestTableRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="DateTimeValue" msdata:DataType="System.Data.SqlTypes.SqlDateTime" msprop:Generator_ColumnVarNameInTable="columnDateTimeValue" msprop:Generator_ColumnPropNameInRow="DateTimeValue" msprop:Generator_ColumnPropNameInTable="DateTimeValueColumn" msprop:Generator_UserColumnName="DateTimeValue" type="xs:dateTime" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -56,11 +56,13 @@ namespace Newtonsoft.Json.Converters
|
||||
writer.WriteStartObject();
|
||||
foreach (DataColumn column in row.Table.Columns)
|
||||
{
|
||||
if (serializer.NullValueHandling == NullValueHandling.Ignore && (row[column] == null || row[column] == DBNull.Value))
|
||||
object columnValue = row[column];
|
||||
|
||||
if (serializer.NullValueHandling == NullValueHandling.Ignore && (columnValue == null || columnValue == DBNull.Value))
|
||||
continue;
|
||||
|
||||
writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(column.ColumnName) : column.ColumnName);
|
||||
serializer.Serialize(writer, row[column]);
|
||||
serializer.Serialize(writer, columnValue);
|
||||
}
|
||||
writer.WriteEndObject();
|
||||
}
|
||||
@@ -102,7 +104,7 @@ namespace Newtonsoft.Json.Converters
|
||||
|
||||
while (reader.TokenType != JsonToken.EndArray)
|
||||
{
|
||||
CreateRow(reader, dt);
|
||||
CreateRow(reader, dt, serializer);
|
||||
|
||||
CheckedRead(reader);
|
||||
}
|
||||
@@ -110,7 +112,7 @@ namespace Newtonsoft.Json.Converters
|
||||
return dt;
|
||||
}
|
||||
|
||||
private static void CreateRow(JsonReader reader, DataTable dt)
|
||||
private static void CreateRow(JsonReader reader, DataTable dt, JsonSerializer serializer)
|
||||
{
|
||||
DataRow dr = dt.NewRow();
|
||||
CheckedRead(reader);
|
||||
@@ -138,7 +140,7 @@ namespace Newtonsoft.Json.Converters
|
||||
|
||||
while (reader.TokenType != JsonToken.EndArray)
|
||||
{
|
||||
CreateRow(reader, nestedDt);
|
||||
CreateRow(reader, nestedDt, serializer);
|
||||
|
||||
CheckedRead(reader);
|
||||
}
|
||||
@@ -165,7 +167,7 @@ namespace Newtonsoft.Json.Converters
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[columnName] = reader.Value ?? DBNull.Value;
|
||||
dr[columnName] = (reader.Value != null) ? serializer.Deserialize(reader, column.DataType) : DBNull.Value;
|
||||
}
|
||||
|
||||
CheckedRead(reader);
|
||||
@@ -222,5 +224,4 @@ namespace Newtonsoft.Json.Converters
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -92,5 +92,5 @@ using System.Security;
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("7.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("7.0.1.18322")]
|
||||
[assembly: AssemblyFileVersion("7.0.1.18329")]
|
||||
[assembly: CLSCompliant(true)]
|
||||
|
||||
Reference in New Issue
Block a user