LINQ to SQL on Windows Phone 7.5: Listing 1.

Creating the Movie Class.

using System.ComponentModel;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Linq;
using Microsoft.Phone.Data.Linq;

[Table]
public class Movie:INotifyPropertyChanging {
  private string name;
  private int year;
  private string synopsis;

  [Column(IsPrimaryKey = true,
    IsDbGenerated = true,
    DbType = "INT NOT NULL Identity",
    CanBeNull = false,
    AutoSync = AutoSync.OnInsert)]
  public int MovieId { get; set; }

  [Column]
  public string Name {
    get { return name; }
    set {
      if (name == value) return;
      NotifyPropertyChanging("Name");
      name = value;
    }
  }

  [Column]
  public int Year {
    get { return year; }
    set {
      if (Year == value) return;
      NotifyPropertyChanging("Year");
      year = value;
    }
  }

  [Column]
  public string Synopsis {
    get { return synopsis; }
    set {
      if (Synopsis == value) return;
      NotifyPropertyChanging("Synopsis");
      synopsis = value;
    }
  }
        
  public event PropertyChangingEventHandler PropertyChanging;
  private void NotifyPropertyChanging(string propertyName) {
    if (PropertyChanging != null) {
      PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
    }
  }
}

public class MoviesDataContext : DataContext {
  private const string DBConnectionString = "Data Source=isostore:/Movies.sdf";

  public MoviesDataContext() : base(DBConnectionString) { }

  public Table<Movie> Movies;
}

About the Author

Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.