I read this question here:
Is there a way to override the empty constructor in a class generated by LINQtoSQL?
Typically my constructor would look like:
public User(String username, String password, String email, DateTime birthday, Char gender)
{
this.Id = Guid.NewGuid();
this.DateCreated = this.DateModified = DateTime.Now;
this.Username = username;
this.Password = password;
this.Email = email;
this.Birthday = birthday;
this.Gender = gender;
}
However, as read in that question, you want to use partial method OnCreated() instead to assign values and not overwrite the default constructor. Okay so I got this :
partial void OnCreated()
{
this.Id = Guid.NewGuid();
this.DateCreated = this.DateModified = DateTime.Now;
this.Username = username;
this.Password = password;
this.Email = email;
this.Birthday = birthday;
this.Gender = gender;
}
However, this gives me two errors:
Partial Methods must be declared private.
Partial Methods must have empty method bodies.
Alright I change it to Private Sub OnCreated() to remove both of those errors. However I am still stuck with…how can I pass it values as I would with a normal custom constructor?
Also I am doing this in VB (converted it since I know most know/prefer C#), so would that have an affect on this?
You can’t pass values into
OnCreated. The question you linked to is concerned with overriding the the behavour of the default constructor. It sounds like you want to use a parameterised constructor like this:Do you want to create new users like this:
or like this: