Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query : Fixes LINQ Serialization CamelCase Naming Policy #4253

Merged
merged 8 commits into from
May 1, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace Microsoft.Azure.Cosmos.Linq
using System.Runtime.Serialization;
using Microsoft.Azure.Documents;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

internal class DefaultCosmosLinqSerializer : ICosmosLinqSerializerInternal
{
Expand Down Expand Up @@ -67,7 +68,14 @@ public string Serialize(object value, MemberExpression memberExpression, Type me

public string SerializeScalarExpression(ConstantExpression inputExpression)
{
return JsonConvert.SerializeObject(inputExpression.Value);
JsonSerializerSettings settings = this.PropertyNamingPolicy == CosmosPropertyNamingPolicy.CamelCase
? new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
}
: new JsonSerializerSettings();

return JsonConvert.SerializeObject(inputExpression.Value, settings);
}

public string SerializeMemberName(MemberInfo memberInfo)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ WHERE (root["numericFieldDataMember"] = 1)]]></SqlQuery>
<SqlQuery><![CDATA[
SELECT VALUE root
FROM root
WHERE (root = {"NumericFieldDataMember": 1, "StringFieldDataMember": "1", "id": null, "Pk": null, "DateTimeFieldDataMember": null, "DataTypeFieldDataMember": null})]]></SqlQuery>
WHERE (root = {"numericFieldDataMember": 1, "stringFieldDataMember": "1", "id": null, "pk": null, "dateTimeFieldDataMember": null, "dataTypeFieldDataMember": null})]]></SqlQuery>
Maya-Painter marked this conversation as resolved.
Show resolved Hide resolved
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
"{\"NumericField\": 1, \"StringField\": \"1\", \"id\": \"1-True\", \"Pk\": \"Test\"}",
Expand All @@ -48,7 +48,7 @@ WHERE (root = {"NumericFieldDataMember": 1, "StringFieldDataMember": "1", "id":
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE {"NumericFieldDataMember": 1, "StringFieldDataMember": "1", "id": null, "Pk": null, "DateTimeFieldDataMember": null, "DataTypeFieldDataMember": null}
SELECT VALUE {"numericFieldDataMember": 1, "stringFieldDataMember": "1", "id": null, "pk": null, "dateTimeFieldDataMember": null, "dataTypeFieldDataMember": null}
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand All @@ -75,7 +75,7 @@ FROM root]]></SqlQuery>
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE ((root["numericFieldDataMember"] > 1) ? {"NumericFieldDataMember": 1, "StringFieldDataMember": "1", "id": null, "Pk": null, "DateTimeFieldDataMember": null, "DataTypeFieldDataMember": null} : {"NumericFieldDataMember": 1, "StringFieldDataMember": "1", "id": null, "Pk": null, "DateTimeFieldDataMember": null, "DataTypeFieldDataMember": null})
SELECT VALUE ((root["numericFieldDataMember"] > 1) ? {"numericFieldDataMember": 1, "stringFieldDataMember": "1", "id": null, "pk": null, "dateTimeFieldDataMember": null, "dataTypeFieldDataMember": null} : {"numericFieldDataMember": 1, "stringFieldDataMember": "1", "id": null, "pk": null, "dateTimeFieldDataMember": null, "dataTypeFieldDataMember": null})
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ WHERE (root["numericFieldDataMember"] = 1)]]></SqlQuery>
<SqlQuery><![CDATA[
SELECT VALUE root
FROM root
WHERE (root = {"NumericFieldDataMember": 1, "StringFieldDataMember": "1"})]]></SqlQuery>
WHERE (root = {"numericFieldDataMember": 1, "stringFieldDataMember": "1"})]]></SqlQuery>
<InputData><![CDATA[[
"{\"numberValueDotNet\": 0, \"stringValueDotNet\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
"{\"numberValueDotNet\": 1, \"stringValueDotNet\": \"1\", \"id\": \"1-True\", \"Pk\": \"Test\"}",
Expand All @@ -48,7 +48,7 @@ WHERE (root = {"NumericFieldDataMember": 1, "StringFieldDataMember": "1"})]]></S
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE {"NumericFieldDataMember": 1, "StringFieldDataMember": "1"}
SELECT VALUE {"numericFieldDataMember": 1, "stringFieldDataMember": "1"}
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"numberValueDotNet\": 0, \"stringValueDotNet\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand All @@ -75,7 +75,7 @@ FROM root]]></SqlQuery>
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE ((root["numericFieldDataMember"] > 1) ? {"NumericFieldDataMember": 1, "StringFieldDataMember": "1"} : {"NumericFieldDataMember": 1, "StringFieldDataMember": "1"})
SELECT VALUE ((root["numericFieldDataMember"] > 1) ? {"numericFieldDataMember": 1, "stringFieldDataMember": "1"} : {"numericFieldDataMember": 1, "stringFieldDataMember": "1"})
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"numberValueDotNet\": 0, \"stringValueDotNet\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ WHERE (root["numberValueNewtonsoft"] = 1)]]></SqlQuery>
<SqlQuery><![CDATA[
SELECT VALUE root
FROM root
WHERE (root = {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null, "DateTimeField": null, "DataTypeField": null})]]></SqlQuery>
WHERE (root = {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null, "dateTimeField": null, "dataTypeField": null})]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"IgnoreField\": \"ignore\", \"id\": \"0-True\"}",
"{\"NumericField\": 1, \"StringField\": \"1\", \"IgnoreField\": \"ignore\", \"id\": \"1-True\"}",
Expand All @@ -48,7 +48,7 @@ WHERE (root = {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": n
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null, "DateTimeField": null, "DataTypeField": null}
SELECT VALUE {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null, "dateTimeField": null, "dataTypeField": null}
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"IgnoreField\": \"ignore\", \"id\": \"0-True\"}",
Expand All @@ -75,7 +75,7 @@ FROM root]]></SqlQuery>
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE ((root["numberValueNewtonsoft"] > 1) ? {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null, "DateTimeField": null, "DataTypeField": null} : {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null, "DateTimeField": null, "DataTypeField": null})
SELECT VALUE ((root["numberValueNewtonsoft"] > 1) ? {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null, "dateTimeField": null, "dataTypeField": null} : {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null, "dateTimeField": null, "dataTypeField": null})
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"IgnoreField\": \"ignore\", \"id\": \"0-True\"}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ WHERE (root["numberValueNewtonsoft"] = 1)]]></SqlQuery>
<SqlQuery><![CDATA[
SELECT VALUE root
FROM root
WHERE (root = {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1"})]]></SqlQuery>
WHERE (root = {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1"})]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
"{\"NumericField\": 1, \"StringField\": \"1\", \"id\": \"1-True\", \"Pk\": \"Test\"}",
Expand All @@ -48,7 +48,7 @@ WHERE (root = {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1"})]]></Sq
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1"}
SELECT VALUE {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1"}
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand All @@ -75,7 +75,7 @@ FROM root]]></SqlQuery>
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE ((root["numberValueNewtonsoft"] > 1) ? {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1"} : {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1"})
SELECT VALUE ((root["numberValueNewtonsoft"] > 1) ? {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1"} : {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1"})
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"NumericField\": 0, \"StringField\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ WHERE (root["numberValueNewtonsoft"] = 1)]]></SqlQuery>
<SqlQuery><![CDATA[
SELECT VALUE root
FROM root
WHERE (root = {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null})]]></SqlQuery>
WHERE (root = {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null})]]></SqlQuery>
<InputData><![CDATA[[
"{\"numberValueDotNet\": 0, \"stringValueDotNet\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
"{\"numberValueDotNet\": 1, \"stringValueDotNet\": \"1\", \"id\": \"1-True\", \"Pk\": \"Test\"}",
Expand All @@ -48,7 +48,7 @@ WHERE (root = {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": n
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null}
SELECT VALUE {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null}
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"numberValueDotNet\": 0, \"stringValueDotNet\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand All @@ -75,7 +75,7 @@ FROM root]]></SqlQuery>
</Input>
<Output>
<SqlQuery><![CDATA[
SELECT VALUE ((root["numberValueNewtonsoft"] > 1) ? {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null} : {"NumberValueNewtonsoft": 1, "StringValueNewtonsoft": "1", "id": null, "Pk": null})
SELECT VALUE ((root["numberValueNewtonsoft"] > 1) ? {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null} : {"numberValueNewtonsoft": 1, "stringValueNewtonsoft": "1", "id": null, "pk": null})
FROM root]]></SqlQuery>
<InputData><![CDATA[[
"{\"numberValueDotNet\": 0, \"stringValueDotNet\": \"0\", \"id\": \"0-True\", \"Pk\": \"Test\"}",
Expand Down
Loading