LINQ-to-SQL and T-SQL
by Dino Esposito

Listing One

[Table(Name="dbo.Customers")]
public partial class Customer : INotifyPropertyChanging, INotifyPropertyChanged
{
   [Column(Storage="_CustomerID", DbType="NChar(5) NOT NULL", 
           CanBeNull=false, IsPrimaryKey=true)]
   public string CustomerID
   {
      get { return this._CustomerID; }
      set
      {
         if ((this._CustomerID != value))
         {
            this.OnCustomerIDChanging(value);
            this.SendPropertyChanging();
            this._CustomerID = value;
            this.SendPropertyChanged("CustomerID");
            this.OnCustomerIDChanged();
         }
      }
   }
   :
   [Association(Name="Customer_Order", Storage="_Orders", OtherKey="CustomerID")]
   public EntitySet<Order> Orders
   {
      get { return this._Orders; }
      set { this._Orders.Assign(value); }
   }
}


Listing Two 

NorthwindDataContext db = new NorthwindDataContext();
Product p1 = db.Products.Single(p => p.ProductName == "X");
Product p2 = db.Products.Single(p => p.ProductName == "Y");

Order order1 = new Order();
order1.OrderDate = DateTime.Now;
order1.RequiredDate = order1.OrderDate.AddDays(7);

OrderDetail item1 = new OrderDetail();
item1.ProductID = p1.ProductID;
item1.Quantity = 4;
order1.OrderDetails.Add(item1);

OrderDetail item2 = new OrderDetail();
item2.ProductID = p2.ProductID;
item2.Quantity = 1;
order1.OrderDetails.Add(item2); 

Customer cust = db.Customers.Single(c => c.CustomerID == "ALFKI");
cust.Orders.Add(order1);

db.SubmitChanges();




2


