C# Data Contract Class - Extend / Add Attributes
I have taken over a new project where we have a Web API that returns data from the back-end database. We have used Data Contract classes to model our objects to each table that we return. My question is around extending what is returned so that we can display additional data on the front-end that is not held in the database. Here is an example of the class:
[Serializable]
[DataContract]
public class ContainersInPort
{
[DataMember] public string ContainerNumberFull { get; set; }
[DataMember] public string PortLocationId { get; set; }
[DataMember] public string PortLocation { get; set; }
[DataMember] public string PortName { get; set; }
}
Is there any way I can add a new property to the class above? I have added the following line of code to my class but it returned an out of range exception error.
public string FrontEndProperty { get; set; }
Is there any way to add essentially add attributes without causing the exception and use the same object with the Web API data and any other properties that be added before displaying on front-end.
c# asp.net web-services web asp.net-core-webapi
add a comment |
I have taken over a new project where we have a Web API that returns data from the back-end database. We have used Data Contract classes to model our objects to each table that we return. My question is around extending what is returned so that we can display additional data on the front-end that is not held in the database. Here is an example of the class:
[Serializable]
[DataContract]
public class ContainersInPort
{
[DataMember] public string ContainerNumberFull { get; set; }
[DataMember] public string PortLocationId { get; set; }
[DataMember] public string PortLocation { get; set; }
[DataMember] public string PortName { get; set; }
}
Is there any way I can add a new property to the class above? I have added the following line of code to my class but it returned an out of range exception error.
public string FrontEndProperty { get; set; }
Is there any way to add essentially add attributes without causing the exception and use the same object with the Web API data and any other properties that be added before displaying on front-end.
c# asp.net web-services web asp.net-core-webapi
You can always add properties to objects. There's something else going on that's not in your question. What exactly is throwing an out of range exception?
– Scott Hannen
Nov 13 '18 at 2:40
Share us the complete code which cause this error? You may define a new model which inherits fromContainersInPort
, and append new properties to new model, then return the new model with your expected data.
– Tao Zhou
Nov 14 '18 at 1:46
add a comment |
I have taken over a new project where we have a Web API that returns data from the back-end database. We have used Data Contract classes to model our objects to each table that we return. My question is around extending what is returned so that we can display additional data on the front-end that is not held in the database. Here is an example of the class:
[Serializable]
[DataContract]
public class ContainersInPort
{
[DataMember] public string ContainerNumberFull { get; set; }
[DataMember] public string PortLocationId { get; set; }
[DataMember] public string PortLocation { get; set; }
[DataMember] public string PortName { get; set; }
}
Is there any way I can add a new property to the class above? I have added the following line of code to my class but it returned an out of range exception error.
public string FrontEndProperty { get; set; }
Is there any way to add essentially add attributes without causing the exception and use the same object with the Web API data and any other properties that be added before displaying on front-end.
c# asp.net web-services web asp.net-core-webapi
I have taken over a new project where we have a Web API that returns data from the back-end database. We have used Data Contract classes to model our objects to each table that we return. My question is around extending what is returned so that we can display additional data on the front-end that is not held in the database. Here is an example of the class:
[Serializable]
[DataContract]
public class ContainersInPort
{
[DataMember] public string ContainerNumberFull { get; set; }
[DataMember] public string PortLocationId { get; set; }
[DataMember] public string PortLocation { get; set; }
[DataMember] public string PortName { get; set; }
}
Is there any way I can add a new property to the class above? I have added the following line of code to my class but it returned an out of range exception error.
public string FrontEndProperty { get; set; }
Is there any way to add essentially add attributes without causing the exception and use the same object with the Web API data and any other properties that be added before displaying on front-end.
c# asp.net web-services web asp.net-core-webapi
c# asp.net web-services web asp.net-core-webapi
asked Nov 13 '18 at 1:56
Antoin McCloskey
4617
4617
You can always add properties to objects. There's something else going on that's not in your question. What exactly is throwing an out of range exception?
– Scott Hannen
Nov 13 '18 at 2:40
Share us the complete code which cause this error? You may define a new model which inherits fromContainersInPort
, and append new properties to new model, then return the new model with your expected data.
– Tao Zhou
Nov 14 '18 at 1:46
add a comment |
You can always add properties to objects. There's something else going on that's not in your question. What exactly is throwing an out of range exception?
– Scott Hannen
Nov 13 '18 at 2:40
Share us the complete code which cause this error? You may define a new model which inherits fromContainersInPort
, and append new properties to new model, then return the new model with your expected data.
– Tao Zhou
Nov 14 '18 at 1:46
You can always add properties to objects. There's something else going on that's not in your question. What exactly is throwing an out of range exception?
– Scott Hannen
Nov 13 '18 at 2:40
You can always add properties to objects. There's something else going on that's not in your question. What exactly is throwing an out of range exception?
– Scott Hannen
Nov 13 '18 at 2:40
Share us the complete code which cause this error? You may define a new model which inherits from
ContainersInPort
, and append new properties to new model, then return the new model with your expected data.– Tao Zhou
Nov 14 '18 at 1:46
Share us the complete code which cause this error? You may define a new model which inherits from
ContainersInPort
, and append new properties to new model, then return the new model with your expected data.– Tao Zhou
Nov 14 '18 at 1:46
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53272672%2fc-sharp-data-contract-class-extend-add-attributes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53272672%2fc-sharp-data-contract-class-extend-add-attributes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You can always add properties to objects. There's something else going on that's not in your question. What exactly is throwing an out of range exception?
– Scott Hannen
Nov 13 '18 at 2:40
Share us the complete code which cause this error? You may define a new model which inherits from
ContainersInPort
, and append new properties to new model, then return the new model with your expected data.– Tao Zhou
Nov 14 '18 at 1:46