c# - Casting a derived class back to base class -


i have simple (c#, .net 4.0) code uses linq-to-sql class, , i'm trying "extend" object add own fields. let's linq generated class called databaserow, , want add couple of bool values internal use:

public class extendeddatabaserow: databaserow {    public bool readytowrite;    public bool changed; } 

this works fine in code: can create objects of type extendeddatabaserow etc. however, i'd write these objects database. let's want write object changedrow (of type extendeddatabaserow) database:

dataclassesdatacontext dc = new dataclassesdatacontext(); databaserow newrow = (databaserow) changedrow; // "cast" extended object base type dc.databaserows.insertonsubmit(newrow); dc.submitchanges(); 

this throws error

object reference not set instance of object.

when trying insertonsubmit.

i create new databaserow object , copy each parameter source object, seems bit messy me. can cast extended object base object, , if doing wrong? or i'm doing fine, , error more linq-specific?

i'm still new c#, , in particular terminology used, apologies in advance if daft question.

you don't need derive new class extend linq sql entities, classes marked partial exact reason e.g.

public partial class databaserow {     public bool readytowrite { get; set; }     public bool changed { get; set; } } 

this recommended way of extending db entities generated designer , means don't have cast.


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -