<p>If I have a table in my database called 'Users', there will be a class generated by LINQtoSQL called 'User' with an already declared empty constructor.</p>

<p>What is the best practice if I want to override this constructor and add my own logic to it?</p>

It doesn't look like you can override the empty constructor. Instead, I would create a method that performs the functionality that you need in the empty constructor and returns the new object.
```
```
// Add new partial class to extend functionality
public partial class User {

  // Add additional constructor
  public User(int id) {
    ID = id;
  }

  // Add static method to initialize new object
  public User GetNewUser() {
    // functionality
    User user = new User();
    user.Name = "NewName";
    return user;
  }
}
```
```
Then elsewhere in your code, instead of using the default empty constructor, do one of the following:
```
```
User user1 = new User(1);
User user2 = User.GetNewUser();
```
```