C# Data Contract Class - Extend / Add Attributes












0














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.










share|improve this question






















  • 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
















0














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.










share|improve this question






















  • 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














0












0








0







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.










share|improve this question













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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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 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


















  • 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
















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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Bressuire

Vorschmack

Quarantine