public void DeleteItem(Func <T, bool> exp)
 {
     using (var db = new ShopDataContext())
     {
         var item = db.GetTable <T>().FirstOrDefault(exp);
         if (item == null)
         {
             return;
         }
         db.GetTable <T>().DeleteOnSubmit(item);
         db.SubmitChanges();
     }
 }
 public List <T> All()
 {
     using (var db = new ShopDataContext())
     {
         return(db.GetTable <T>().ToList());
     }
 }
 public T GetFirstOrDefault(Func <T, bool> exp)
 {
     using (var db = new ShopDataContext())
     {
         return(db.GetTable <T>().FirstOrDefault(exp));
     }
 }
 public List <T> FindAll(Func <T, bool> exp)
 {
     using (var db = new ShopDataContext())
     {
         return(db.GetTable <T>().Where(exp).ToList());
     }
 }
 public void DeleteItems(List <T> items)
 {
     using (var db = new ShopDataContext())
     {
         db.GetTable <T>().DeleteAllOnSubmit(items);
         db.SubmitChanges();
     }
 }
 public void CreateItems(List <T> entities)
 {
     using (var db = new ShopDataContext())
     {
         db.GetTable <T>().InsertAllOnSubmit(entities);
         db.SubmitChanges();
     }
 }
 public void CreateItem(T entity)
 {
     using (var db = new ShopDataContext())
     {
         db.GetTable <T>().InsertOnSubmit(entity);
         db.SubmitChanges();
     }
 }
		public void AllColumnsShouldBeMapped()
		{
			string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=SutekiShop;Integrated Security=True";

			using (var context = new ShopDataContext(connectionString))
			{
				context.Log = Console.Out;

				foreach (var mappedTable in context.Mapping.GetTables().Select(x => x.RowType.Type)) 
				{
					context.GetTable(mappedTable).Cast<object>().Take(0).ToList();
				}
			}
		}