Skip to content

Commit 98d0d23

Browse files
committed
Bug fix for deserializing objects with readonly fields
1 parent b18b77b commit 98d0d23

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

src/TableStorage.Abstractions.TableEntityConverters/EntityConvert.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ private static DynamicTableEntity CreateTableEntity(object o, List<PropertyInfo>
257257

258258
private static List<PropertyInfo> GetProperties(Type type)
259259
{
260-
var properties = type.GetProperties(BindingFlags.Instance | BindingFlags.GetProperty | BindingFlags.Public)
260+
var properties = type.GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(p=>p.CanRead && p.CanWrite)
261261
.ToList();
262262
return properties;
263263
}

src/TableStorage.Abstractions.TableEntityConverters/TableStorage.Abstractions.TableEntityConverters.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;netcoreapp2.0;net462</TargetFrameworks>
5-
<Version>1.2</Version>
4+
<TargetFrameworks>netstandard2.0</TargetFrameworks>
5+
<Version>1.3-beta</Version>
66
<Authors>Giovanni Galbo</Authors>
77
<Company>Giovanni Galbo</Company>
88
<Description>Easily convert POCOs (Plain Old CLR Objects) to Azure Table Storage TableEntities and vice versa.</Description>
9-
<Copyright>Giovanni Galbo © 2019</Copyright>
9+
<Copyright>Giovanni Galbo © 2020</Copyright>
1010
<PackageLicenseUrl></PackageLicenseUrl>
1111
<PackageProjectUrl>https://github.com/giometrix/TableStorage.Abstractions.TableEntityConverters</PackageProjectUrl>
1212
<RepositoryUrl>https://github.com/giometrix/TableStorage.Abstractions.TableEntityConverters</RepositoryUrl>
1313
<PackageTags>table-storage azure-table-storage poco table-entities</PackageTags>
14-
<PackageReleaseNotes>If POCO has a property named Timestamp, automatically populate it.</PackageReleaseNotes>
14+
<PackageReleaseNotes>Bug fix for when deserializing objects with readonly properties</PackageReleaseNotes>
1515
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
1616
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
1717
<PackageLicenseExpression>MIT</PackageLicenseExpression>

src/TableStorage.Abstractions.UnitTests/Employee.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class Employee
2323
public DateTime ADateTime { get; set; }
2424
public DateTime? ANullableDateTime { get; set; }
2525
public int? ANullableInt { get; set; }
26+
public string ReadOnlyField => Name + " - " + Id;
2627
}
2728

2829
public class EmployeeWithTimestamp : Employee

0 commit comments

Comments
 (0)