text:
Khi phát triển 1 ứng dụng phần mềm nói chung, chắc hẳn bạn đã quen với việc khảo sát hiện trang, phân tích yêu cầu đầu vào, vẽ sơ đồ Use Case, sơ đồ lớp, … rồi sau đó là thiết kế cơ sở dữ liệu trước khi bắt tay vào lập trình xây dựng chương trình. Tuy nhiên, đây là cách tiếp cận truyền thống và trong 1 số trường hợp có thể không phù hợp.
Một cách khác, có thể chúng ta thường hay làm mà ít để ý đó là thiết kế mã nguồn chương trình trước, sau đó gieo mới cơ sở dữ liệu sau. Nội dung bài này sẽ trình bày về vấn đề này với việc sử dụng Entity Framework.
Các điều kiện cần phải có
Để thực hiện cách phát triển phần mềm này, bạn cần cài đặt đầy đủ phiên bản Visual Studio 2010 hoặc Visual Studio 2012. Nếu là Visual Studio 2010 thì cài thêm gói NuGet để cài thêm Entity Framework. Admin hiện nay đang dùng Visual Studio 2013 được tích hợp sẵn Entity Framework.
1. Tạo ứng dụng
Đầu tiên, chúng ta tạo 1 ứng dụng mới như sau:
- Mở Visual Studio, chọn File -> New -> Project …, sau đó chọn Visual C# ở phía cột trái và chọn Console Application, đặt tên ứng dụng là DammioCodeFirstNewDatabase và chọn OK.
2. Tạo mô hình
Ở bước này, chúng ta sẽ định nghĩa mô hình cho dự án bằng cách thêm các lớp mã nguồn ở tập tin Program.cs. Bạn có thể tách mỗi lớp thành 1 tập tin riêng nếu muốn.
Ví dụ sau mô tả tập tin Program.cs chứa hai lớp Blog và Post. Một Blog chứa nhiều Post (bài viết) và 1 Post (bài viết) chỉ thuộc về 1 Blog duy nhất. Lớp Blog chứa 2 thuộc tính BlogId và Name, và thuộc tính ảo điều hướng Posts liệt kê các bài viết thuộc 1 Blog. Lớp Post chứa 3 thuộc tính PostId, Title, Content và thuộc tính khóa ngoại BlogId, cũng như thuộc tính điều hướng ảo Blog để cho biết 1 Post thuộc về duy nhất 1 Blog nào.
public class Blog { public int BlogId { get; set; } public string Name { get; set; } public virtual List<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public virtual Blog Blog { get; set; } }
Trong ví dụ trên, chúng ta tạo hai thuộc tính điều hướng (Blog.Posts và Post.Blog) ảo. Điều này cho phép tính năng Lazy Loading (tải lười hoặc tải sau) của Entity Framework. Lazy Loading nghĩa là nội dung của các thuộc tính sẽ tự động được tải lên từ database khi bạn truy xuất chúng. Còn nếu bạn không có yêu cầu truy xuất, các thuộc tính này sẽ không được tự động tải.
3. Tạo bối cảnh (context)
Bạn phải định nghĩa 1 bối cảnh, thể hiện 1 phiên làm việc với database, cho phép thực thi truy vấn và lưu trữ dữ liệu. Chúng ta xây dựng 1 bối cảnh kế thừa từ System.Data.Entity.DbContext và biểu diễn dạng DbSet
Để dùng các dạng của Entity Framework, cần cài đặt gói EntityFramework NuGet. Để cài đặt, chọn Tools -> Library Package Manage -> Manage NuGet Packages for Solution…, chọn nuget.org, chọn gói EntityFramework và nhấn Install để cài. Sau đó, thêm using System.Data.Entity; ở đầu tập tin Program.cs.
Sau đó thêm đoạn mã sau vào tập tin Program.cs
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } }
Đây là nội dung đầy đủ của tập tin Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.Entity; namespace CodeFirstNewDatabaseSample { class Program { static void Main(string[] args) { } } public class Blog { public int BlogId { get; set; } public string Name { get; set; } public virtual List<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public virtual Blog Blog { get; set; } } public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } } }
4. Đọc & Ghi dữ liệu
Để đọc và ghi dữ liệu, bạn có thể thực thi ở phương thức Main trong tập tin Program.cs. Đoạn mã sau tạo mới 1 Blog và lấy toàn bộ Blog sắp xếp theo Name trong database bằng LINQ để xuất kết quả ra màn hình.
class Program { static void Main(string[] args) { using (var db = new BloggingContext()) { // Nhập tên 1 Blog mới cần tạo Console.Write("Ten cua 1 Blog moi: "); var name = Console.ReadLine(); // Thêm 1 Blog mới var blog = new Blog { Name = name }; db.Blogs.Add(blog); db.SaveChanges(); // Hiển thị các Blog trong database, sắp xếp theo Name var query = from b in db.Blogs orderby b.Name select b; Console.WriteLine("Tat ca blog trong database -- dammio.com:"); foreach (var item in query) { Console.WriteLine(item.Name); } Console.WriteLine("Go bat ky phim nao de thoat..."); Console.ReadKey(); } } }
Ok, đến bước này, bạn đã thêm được 1 Blog mới và xuất hiện kết quả các Blog vừa thêm ra màn hình. Sẽ rất nhiều bạn thắc mắc dữ liệu của ứng dụng ở đâu. Visual Studio sẽ tự động tạo database và thường là ở SQL Express (Visual Studio 2010) hoặc là LocalDb (ở Visual 2012). Tên database được đặt theo tên dự án và tên bối cảnh, đó là DammioCodeFirstNewDatabase.BloggingContext.
Có 1 số cách kết nối với database, bạn thử 1 trong các cách sau. Trong Server Explorer ở Visual Studio, chọn View -> Server Explorer. Chuột phải chọn Data Connections và chọn Add Connection… Tiếp theo gõ (localdb)\v11.0 hoặc .\SQLEXPRESS vào phần Server Name, sau đó chọn database của bạn.
DbContext làm việc với các lớp trong mô hình bằng cách nhìn các thuộc tính DbSet mà chúng ta đã định nghĩa. Sau đó dùng tập mặc định các quy ước Code First để xác định bảng và tên các cột, xác định kiểu dữ liệu, tìm các khóa chính, …
5. Giải quyết vấn đề thay đổi mô hình
Cái hay nhất của Code First là cho phép thay đổi mô hình code, từ đó thay đổi luôn database tùy ý. Để làm được việc này, chúng ta sẽ áp dụng 1 tính năng gọi là Code First Migrations (dịch nôm na là tích hợp Code First), hay gọi là Migrations cho ngắn gọn.
Migrations cho phép thiết lập 1 tập các bước mô hình cách nâng cấp/bỏ bớt lược đồ database. Ở mỗi bước, được xem là 1 migration, chứa đoạn mã mô tả các thay đổi được áp dụng.
Bước đầu tiên là kích hoạt chế độ Code First Migration cho BloggingContext bằng cách vào Toosl -> Library Package Manager -> Package Manager Console, gõ dòng lệnh Enable-Migrations và nhấn Enter như hình.
Sau đó, bạn có thể thấy thư mục Migrations như trong hình sau.
Tiếp theo chúng ta thử thay đổi mô hình, thêm thuộc tính Url vào lớp Blog như sau:
public class Blog { public int BlogId { get; set; } public string Name { get; set; } public string Url { get; set; } // thêm thuộc tính mới --- dammio.com public virtual List<Post> Posts { get; set; } }
Sau đó chạy dòng lệnh Add-Migration AddUrl với AddUrl là tham số tên, thật ra bạn đặt bất cứ tên gì cũng được. Khi chạy dòng lệnh trên, Migrations sẽ kiểm tra lần tích hợp cuối của bạn và xây dựng 1 mô hình mới với bất cứ thay đổi được tìm thấy, sau đó sẽ thay đổi database cho phù hợp với mô hình này. Thậm chí, bạn có thể vào lớp AddUrl vừa tạo để chỉnh tay thêm/xóa các trường cần thiết.
namespace DammioCodeFirstNewDatabase.Migrations { using System; using System.Data.Entity.Migrations; public partial class AddUrl : DbMigration { public override void Up() { AddColumn("dbo.Blogs", "Url", c => c.String()); } public override void Down() { DropColumn("dbo.Blogs", "Url"); } } }
Sau đó, ở Package Manager Console, tiếp tục chạy dòng lệnh Update-Database để cập nhật mô hình mới trong database. Trong database, bảng Blog sẽ có thêm cột Url mới.
6. Chú thích dữ liệu (Data Annotations)
Phần này chỉ các bạn cách chú thích dữ liệu cho các thuộc tính ở lớp trong mô hình. Có 2 cách chính là dùng Data Annotations hay Fluent API ở phần tiếp theo. Tiếp theo chúng ta thêm 1 lớp mới User vào mô hình ở tập tin Program.cs.
public class User { public string Username { get; set; } public string DisplayName { get; set; } }
Chúng ta cũng cần thêm 1 tập vào bối cảnh kế thừa.
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } public DbSet<User> Users { get; set; } // thêm mới DbSet User }
Khi chúng ta tích hợp như phần 5 thì bị gặp vấn đề đó là thực thể “User” không có khóa chính. Vì vậy chúng ta phải dùng Data Annotations để định nghĩa khóa chính cho User, trước hết thì nhúng thêm dòng vào đầu tập tin Program.cs.
using System.ComponentModel.DataAnnotations;
Sau đó, chú thích thuộc tính Username là khóa chính với cú pháp [Key]
public class User { [Key] // đây là chú thích dữ liệu có ý nghĩa thuộc tính Username là khóa chính của lớp public string Username { get; set; } public string DisplayName { get; set; } }
Dùng lệnh Add-Migration AddUser và Update-Database trong Package Manager Console để cập nhật mô hình mới. Danh sách đầy đủ chú thích được hỗ trợ bởi EF là: KeyAttribute, StringLengthAttribute, MaxLengthAttribute, ConcurrencyCheckAttribute, RequiredAttribute, TimestampAttribute, ComplexTypeAttribute, ColumnAttribute, TableAttribute, InversePropertyAttribute, ForeignKeyAttribute, DatabaseGeneratedAttribute, NotMappedAttribute.
7. Fluent API
Trong phần trước, chúng ta sử dụng Data Annotations để bổ sung hoặc ghi đè các thay đổi. Phần này chúng ta dùng Fluent API, một cách khác để làm việc đó. Đa số cấu hình mô hình được thực hiện dùng các chú thích dữ liệu đơn giản. Fluent API lại cho phép cách tốt hơn để đặc tả cấu hình mô hình bao gồm mọi thứ mà chú thích dữ liệu cho thể làm trong việc thêm các cấu hình nâng cao. Data Annotations và Fluent API có thể sử dụng cùng nhau.
Để dùng Fluent API, bạn có thể ghi đè (override) lên phương thức OnModelCreating ở DbContext. Để thay tên cột User.DisplayName thành display_name, chúng ta có thể thực hiện như đoạn code sau.
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } public DbSet<User> Users { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<User>() .Property(u => u.DisplayName) .HasColumnName("display_name"); // thay đổi tên thuộc tính --- dammio.com } }
Sau đó cũng chạy lệnh Add-Migration ChangeDisplayName và lệnh Update-Database để thay đổi mô hình.
Kết luận: Đến đây, bạn đã học cách tạo 1 ứng dụng theo phương pháp tạo mã nguồn trước, gieo mới database sau (Code First to a New Database). Tiếp đến, bạn cũng nắm cách tạo và lưu trữ dữ liệu trong database và cách dùng Code First Migrations để thay đổi mô hình, và cấu hình mô hình thông Data Annotations và Fluent API.
Để lại bình luận
3 Comments on "[Entity Framework] Phần 3: Viết mã nguồn trước, tạo mới cơ sở dữ liệu sau (Code First to a New Database)"
cách này chỉ tốt cho dự án và làm kiểu Agile thôi, chứ làm lớn thay code kha phuc tap
Bài viết hay đó bạn.
Bạn thử kết hợp GIT với migration xem, khá thú vị
Cảm ơn nhé, để mình thử xem.

markdown:
Khi phát triển 1 ứng dụng phần mềm nói chung, chắc hẳn bạn đã quen với việc khảo sát hiện trang, phân tích yêu cầu đầu vào, vẽ sơ đồ Use Case, sơ đồ lớp, … rồi sau đó là thiết kế cơ sở dữ liệu trước khi bắt tay vào lập trình xây dựng chương trình. Tuy nhiên, đây là cách tiếp cận truyền thống và trong 1 số trường hợp có thể không phù hợp.
Một cách khác, có thể chúng ta thường hay làm mà ít để ý đó là
**thiết kế mã nguồn chương trình trước, sau đó gieo mới cơ sở dữ liệu sau**. Nội dung bài này sẽ trình bày về vấn đề này với việc sử dụng [Entity Framework](https://www.dammio.com/glossary/entity-framework). **Các điều kiện cần phải có**
Để thực hiện cách phát triển phần mềm này, bạn cần cài đặt đầy đủ phiên bản Visual Studio 2010 hoặc Visual Studio 2012. Nếu là Visual Studio 2010 thì cài thêm gói NuGet để cài thêm
[Entity Framework](https://www.dammio.com/glossary/entity-framework). Admin hiện nay đang dùng **Visual Studio 2013** được tích hợp sẵn [Entity Framework](https://www.dammio.com/glossary/entity-framework). **1. Tạo ứng dụng**
Đầu tiên, chúng ta tạo 1 ứng dụng mới như sau:
- Mở Visual Studio, chọn File -> New -> Project …, sau đó chọn Visual C# ở phía cột trái và chọn Console Application, đặt tên ứng dụng là DammioCodeFirstNewDatabase và chọn OK.
**2. Tạo mô hình**
Ở bước này, chúng ta sẽ định nghĩa mô hình cho dự án bằng cách thêm các lớp mã nguồn ở tập tin Program.cs. Bạn có thể tách mỗi lớp thành 1 tập tin riêng nếu muốn.
Ví dụ sau mô tả tập tin
**Program.cs** chứa hai lớp **Blog** và **Post**. Một Blog chứa nhiều Post (bài viết) và 1 Post (bài viết) chỉ thuộc về 1 Blog duy nhất. Lớp Blog chứa 2 thuộc tính BlogId và Name, và **thuộc tính ảo điều hướng Posts** liệt kê các bài viết thuộc 1 Blog. Lớp Post chứa 3 thuộc tính PostId, Title, Content và thuộc tính khóa ngoại BlogId, cũng như **thuộc tính điều hướng ảo Blog** để cho biết 1 Post thuộc về duy nhất 1 Blog nào.
public class Blog { public int BlogId { get; set; } public string Name { get; set; } public virtual List<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public virtual Blog Blog { get; set; } }
Trong ví dụ trên, chúng ta tạo hai thuộc tính điều hướng (Blog.Posts và Post.Blog) ảo. Điều này cho phép tính năng Lazy Loading (tải lười hoặc tải sau) của
[Entity Framework](https://www.dammio.com/glossary/entity-framework). **Lazy Loading** nghĩa là nội dung của các thuộc tính sẽ tự động được tải lên từ database khi bạn truy xuất chúng. Còn nếu bạn không có yêu cầu truy xuất, các thuộc tính này sẽ không được tự động tải. **3. Tạo bối cảnh (context)**
Bạn phải định nghĩa 1 bối cảnh, thể hiện 1 phiên làm việc với database, cho phép thực thi truy vấn và lưu trữ dữ liệu. Chúng ta xây dựng 1 bối cảnh kế thừa từ
**System.Data.Entity.DbContext** và biểu diễn dạng DbSet
Để dùng các dạng của
[Entity Framework](https://www.dammio.com/glossary/entity-framework), cần cài đặt gói EntityFramework NuGet. Để cài đặt, chọn Tools -> Library Package Manage -> Manage NuGet Packages for Solution…, chọn nuget.org, chọn gói EntityFramework và nhấn Install để cài. Sau đó, thêm **using System.Data.Entity;** ở đầu tập tin Program.cs.
Sau đó thêm đoạn mã sau vào tập tin Program.cs
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } }
Đây là nội dung đầy đủ của tập tin Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.Entity; namespace CodeFirstNewDatabaseSample { class Program { static void Main(string[] args) { } } public class Blog { public int BlogId { get; set; } public string Name { get; set; } public virtual List<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public virtual Blog Blog { get; set; } } public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } } }
**4. Đọc & Ghi dữ liệu**
Để đọc và ghi dữ liệu, bạn có thể thực thi ở phương thức
**Main** trong tập tin Program.cs. Đoạn mã sau tạo mới 1 Blog và lấy toàn bộ Blog sắp xếp theo Name trong database bằng [LINQ](https://www.dammio.com/glossary/linq) để xuất kết quả ra màn hình.
class Program { static void Main(string[] args) { using (var db = new BloggingContext()) { // Nhập tên 1 Blog mới cần tạo Console.Write("Ten cua 1 Blog moi: "); var name = Console.ReadLine(); // Thêm 1 Blog mới var blog = new Blog { Name = name }; db.Blogs.Add(blog); db.SaveChanges(); // Hiển thị các Blog trong database, sắp xếp theo Name var query = from b in db.Blogs orderby b.Name select b; Console.WriteLine("Tat ca blog trong database -- dammio.com:"); foreach (var item in query) { Console.WriteLine(item.Name); } Console.WriteLine("Go bat ky phim nao de thoat..."); Console.ReadKey(); } } }
Ok, đến bước này, bạn đã thêm được 1 Blog mới và xuất hiện kết quả các Blog vừa thêm ra màn hình. Sẽ rất nhiều bạn thắc mắc dữ liệu của ứng dụng ở đâu. Visual Studio sẽ tự động tạo database và thường là ở
**SQL Express** (Visual Studio 2010) hoặc là **LocalDb** (ở Visual 2012). Tên database được đặt theo tên dự án và tên bối cảnh, đó là **DammioCodeFirstNewDatabase.BloggingContext**.
Có 1 số cách kết nối với database, bạn thử 1 trong các cách sau. Trong Server Explorer ở Visual Studio, chọn View -> Server Explorer. Chuột phải chọn Data Connections và chọn Add Connection… Tiếp theo gõ
**(localdb)\v11.0** hoặc **.\SQLEXPRESS** vào phần Server Name, sau đó chọn database của bạn. **DbContext** làm việc với các lớp trong mô hình bằng cách nhìn các thuộc tính DbSet mà chúng ta đã định nghĩa. Sau đó dùng tập mặc định các quy ước **Code First** để xác định bảng và tên các cột, xác định kiểu dữ liệu, tìm các khóa chính, … **5. Giải quyết vấn đề thay đổi mô hình **
Cái hay nhất của Code First là cho phép thay đổi mô hình code, từ đó thay đổi luôn database tùy ý. Để làm được việc này, chúng ta sẽ áp dụng 1 tính năng gọi là
**Code First Migrations** (dịch nôm na là tích hợp Code First), hay gọi là Migrations cho ngắn gọn.
Migrations cho phép thiết lập 1 tập các bước mô hình cách nâng cấp/bỏ bớt lược đồ database. Ở mỗi bước, được xem là 1 migration, chứa đoạn mã mô tả các thay đổi được áp dụng.
Bước đầu tiên là kích hoạt chế độ Code First Migration cho BloggingContext bằng cách vào Toosl -> Library Package Manager -> Package Manager Console, gõ dòng lệnh
**Enable-Migrations** và nhấn Enter như hình.
Sau đó, bạn có thể thấy thư mục Migrations như trong hình sau.
Tiếp theo chúng ta thử thay đổi mô hình, thêm thuộc tính
** vào lớp Blog như sau: Url**
public class Blog { public int BlogId { get; set; } public string Name { get; set; } public string Url { get; set; } // thêm thuộc tính mới --- dammio.com public virtual List<Post> Posts { get; set; } }
Sau đó chạy dòng lệnh
**Add-Migration AddUrl** với AddUrl là tham số tên, thật ra bạn đặt bất cứ tên gì cũng được. Khi chạy dòng lệnh trên, Migrations sẽ kiểm tra lần tích hợp cuối của bạn và xây dựng 1 mô hình mới với bất cứ thay đổi được tìm thấy, sau đó sẽ thay đổi database cho phù hợp với mô hình này. Thậm chí, bạn có thể vào lớp AddUrl vừa tạo để chỉnh tay thêm/xóa các trường cần thiết.
namespace DammioCodeFirstNewDatabase.Migrations { using System; using System.Data.Entity.Migrations; public partial class AddUrl : DbMigration { public override void Up() { AddColumn("dbo.Blogs", "Url", c => c.String()); } public override void Down() { DropColumn("dbo.Blogs", "Url"); } } }
Sau đó, ở
**Package Manager Console**, tiếp tục chạy dòng lệnh **Update-Database** để cập nhật mô hình mới trong database. Trong database, **bảng Blog sẽ có thêm cột Url mới**. **6. Chú thích dữ liệu (Data Annotations)**
Phần này chỉ các bạn cách chú thích dữ liệu cho các thuộc tính ở lớp trong mô hình. Có 2 cách chính là dùng
**Data Annotations** hay **Fluent API** ở phần tiếp theo. Tiếp theo chúng ta thêm 1 lớp mới User vào mô hình ở tập tin Program.cs.
public class User { public string Username { get; set; } public string DisplayName { get; set; } }
Chúng ta cũng cần thêm 1 tập vào bối cảnh kế thừa.
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } public DbSet<User> Users { get; set; } // thêm mới DbSet User }
Khi chúng ta tích hợp như phần 5 thì bị gặp vấn đề đó là
**thực thể “User”** không có khóa chính. Vì vậy chúng ta phải dùng Data Annotations để định nghĩa khóa chính cho User, trước hết thì nhúng thêm dòng vào đầu tập tin Program.cs.
using System.ComponentModel.DataAnnotations;
Sau đó, chú thích thuộc tính Username là khóa chính với cú pháp
**[Key]**
public class User { [Key] // đây là chú thích dữ liệu có ý nghĩa thuộc tính Username là khóa chính của lớp public string Username { get; set; } public string DisplayName { get; set; } }
Dùng lệnh Add-Migration AddUser và Update-Database trong Package Manager Console để cập nhật mô hình mới. Danh sách đầy đủ chú thích được hỗ trợ bởi
[EF](https://www.dammio.com/glossary/ef) là: KeyAttribute, StringLengthAttribute, MaxLengthAttribute, ConcurrencyCheckAttribute, RequiredAttribute, TimestampAttribute, ComplexTypeAttribute, ColumnAttribute, TableAttribute, InversePropertyAttribute, ForeignKeyAttribute, DatabaseGeneratedAttribute, NotMappedAttribute. **7. Fluent API**
Trong phần trước, chúng ta sử dụng Data Annotations để bổ sung hoặc ghi đè các thay đổi. Phần này chúng ta dùng Fluent API, một cách khác để làm việc đó. Đa số cấu hình mô hình được thực hiện dùng các chú thích dữ liệu đơn giản.
**Fluent API** lại cho phép cách tốt hơn để đặc tả cấu hình mô hình bao gồm mọi thứ mà chú thích dữ liệu cho thể làm trong việc thêm các cấu hình nâng cao. Data Annotations và Fluent API có thể sử dụng cùng nhau.
Để dùng Fluent API, bạn có thể ghi đè (override) lên phương thức
**OnModelCreating** ở **DbContext**. Để thay tên cột **User.DisplayName** thành **display_name**, chúng ta có thể thực hiện như đoạn code sau.
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } public DbSet<User> Users { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<User>() .Property(u => u.DisplayName) .HasColumnName("display_name"); // thay đổi tên thuộc tính --- dammio.com } }
Sau đó cũng chạy lệnh
**Add-Migration ChangeDisplayName** và lệnh **Update-Database** để thay đổi mô hình. **Kết luận**: Đến đây, bạn đã học cách tạo 1 ứng dụng theo phương pháp tạo mã nguồn trước, gieo mới database sau (Code First to a New Database). Tiếp đến, bạn cũng nắm cách tạo và lưu trữ dữ liệu trong database và cách dùng Code First Migrations để thay đổi mô hình, và cấu hình mô hình thông Data Annotations và Fluent API.
## Để lại bình luận
3 Comments on "[Entity Framework] Phần 3: Viết mã nguồn trước, tạo mới cơ sở dữ liệu sau (Code First to a New Database)"
cách này chỉ tốt cho dự án và làm kiểu Agile thôi, chứ làm lớn thay code kha phuc tap
Bài viết hay đó bạn.
Bạn thử kết hợp GIT với migration xem, khá thú vị
Cảm ơn nhé, để mình thử xem.

Server: cloudflare

X-Turbo-Charged-By: LiteSpeed

Set-Cookie: dwqa_anonymous=8ZmGL2lHNh7fdy91oIvdQj9dXt3jCeSL7kkz7f1Mg5M; expires=Thu, 18-May-2028 10:57:53 GMT; Max-Age=315360000; path=/; httponly


text:
(CCXLVI) Anna-Kondanna (Thera. 69)
Sanh trước Thế Tôn tại làng Donavatthu, không xa Kapilavatthu bao nhiêu, trong một gia đình Bà-la-môn rất giàu có, ngài được gọi với tên gia tộc là Kondanna. Lớn lên, ngài biết ba tập Vệ-đà và giỏi về đoán tướng. Khi bậc Bồ-tát mới sanh, ngài là một trong tám vị Bà-la-môn được mời đến đoán tướng. Dầu ngài mới học nghề, ngài thấy các tướng của bậc Ðại nhân trên đứa bé và nói, vị này sau sẽ thành Phật. Rồi ngài sống, chờ đợi vị Bồ-tát xuất gia. Khi vị Bồ-tát xuất gia, lúc hai mươi chín tuổi, Kondanna được nghe tin, liền xuất gia với bốn vị Bà-la-môn đoán tướng khác, như Vappa v.v... và trong sáu năm sống ở Uruvelà, gần vị Bồ-tát, khi vị Bồ-tát đang tu khổ hạnh. Lúc vị Bồ-tát không tu khổ hạnh nữa, các vị này chán chường bỏ đi đến Isipatana (chư Tiên đọa xứ). Rồi đức Phật đến Isipatana, thuyết kinh Chuyển Pháp Luân cho họ, và Kondanna cùng hàng vạn Phạm Thiên chúng chứng được Sơ quả. Ðến ngày thứ năm, nhờ bài kinh 'Vô Ngã Tướng', Kondanna chứng quả A-la-hán.
Bậc Ðạo Sư trong buổi họp Tăng chúng ở tinh xá Kỳ Viên, đã xác chứng ngài là bậc Ðệ nhất trong các hàng Tăng chúng Tỷ-kheo (Xem. Ang. i. 26). Và trong một trường hợp khi Kondanna giảng về Bốn sự thật, đề cập đến ba tướng: Vô thường, Khổ, Vô ngã, với những phương pháp sai biệt, dựa trên Niết-bàn và giảng với sự lưu loát của đức Phật. Bài giảng ảnh hưởng mạnh mẽ đến Sakka (Ðế Thích) khiến vị này thốt lên những bài kệ:
673. Ta bội phần hân hoan,
Ðược nghe pháp vị lớn,
Pháp được giảng ly tham,
Hoàn toàn không chấp thủ.
Trong một trường hợp khác, thấy tâm tư của một số người còn bị chi phối nặng nề bởi tà kiến, nên ngài nói lên bài kệ như sau:
674. Trên thế giới đất tròn,
Nhiều màu sắc hình tướng,
Làm say đắm tâm tư,
Ta nghĩ là như vậy,
Tướng tịnh rất hấp dẫn,
Liên hệ đến tham dục.
675. Như gió thổi tung bụi,
Ðược mây trấn áp xuống,
Các tư duy lắng dịu,
Khi thấy, với trí tuệ.
676. Mọi hành là vô thường
Khi thấy với trí tuệ,
Vị ấy nhàm chán khổ,
Ðây con đường đến tịnh.
677. Mọi hành là đau khổ,
Khi thấy với trí tuệ,
Vị ấy nhàm chán khổ,
Ðây con đường đến tịnh.
678. Mọi pháp là vô ngã,
Khi thấy với trí tuệ,
Vị ấy nhàm chán khổ,
Ðây con đường đến tịnh.
Rồi ngài nêu rõ, ngài đã chứng được thiền quán ấy, và nói lên chánh trí, ngài nói rằng:
679. Trưởng lão Kondanna,
Giác ngộ bởi giác ngộ,
Ðã sắc bén thoát ly,
Ðoạn tận sanh và chết,
Và đời sống Phạm hạnh,
Ðược hoàn toàn viên mãn.
680. Hoặc bộc lưu, bẫy mồi,
Hoặc cột trụ vững chắc,
Ngọn núi khó phá hoại,
Sau khi chặt phá xong,
Cột trụ và bẫy mồi,
Chặt tảng đá khó phá,
Hành thiền, vượt bờ kia,
Thoát khỏi Ma trói buộc.
681. Tỷ-kheo hoảng hốt động,
Ði đến các bạn ác,
Chìm trong bộc lưu lớn,
Bị sóng lớn ngập tràn.
682. Bậc trí không hoảng hốt,
Không dao động, thận trọng,
Các căn khéo chế ngự,
Làm bạn với kẻ thiện,
Bậc trí tuệ như vậy,
Có thể đoạn đau khổ.
683. Một người đen, gầy mòn,
Yếu ốm, đầy đường gân,
Tiết độ trong ăn uống,
Tâm tư không ưa não.
683. Trong rừng núi rộng lớn,
Bị muỗi ruồi đốt cắn,
Như con voi lâm trận,
Ta chánh niệm, chịu đựng.
684. Ta không thích thú chết,
Ta không thích thú sống,
Ta chờ thời gian đến,
Như thợ làm việc xong.
685. Ta không thích thú chết,
Ta không thích thú sống,
Ta chờ thời gian đến,
Tỉnh giác, giữ chánh niệm.
686. Ðạo Sư, ta hầu hạ,
Lời Phật dạy, làm xong,
Gánh nặng, đặt xuống thấp,
Gốc sanh hữu, nhổ sạch.
687. Vì mục đích xuất gia,
Bỏ nhà, sống không nhà,
Mục đích ấy, ta đạt,
Ta cần gì ở rừng.
Bài viết được Đạo Phật Nguyên Thủy trích từ Kinh Tiểu Bộ
Do Hòa thượng Thích Minh Châu dịch từ tiếng Pali
No comments:
Post a Comment

markdown:
**(CCXLVI) Anna-Kondanna (Thera. 69)**
Sanh trước Thế Tôn tại làng Donavatthu, không xa Kapilavatthu bao nhiêu, trong một gia đình Bà-la-môn rất giàu có, ngài được gọi với tên gia tộc là Kondanna. Lớn lên, ngài biết ba tập Vệ-đà và giỏi về đoán tướng. Khi bậc Bồ-tát mới sanh, ngài là một trong tám vị Bà-la-môn được mời đến đoán tướng. Dầu ngài mới học nghề, ngài thấy các tướng của bậc Ðại nhân trên đứa bé và nói, vị này sau sẽ thành Phật. Rồi ngài sống, chờ đợi vị Bồ-tát xuất gia. Khi vị Bồ-tát xuất gia, lúc hai mươi chín tuổi, Kondanna được nghe tin, liền xuất gia với bốn vị Bà-la-môn đoán tướng khác, như Vappa v.v... và trong sáu năm sống ở Uruvelà, gần vị Bồ-tát, khi vị Bồ-tát đang tu khổ hạnh. Lúc vị Bồ-tát không tu khổ hạnh nữa, các vị này chán chường bỏ đi đến Isipatana (chư Tiên đọa xứ). Rồi đức Phật đến Isipatana, thuyết kinh Chuyển Pháp Luân cho họ, và Kondanna cùng hàng vạn Phạm Thiên chúng chứng được Sơ quả. Ðến ngày thứ năm, nhờ bài kinh 'Vô Ngã Tướng', Kondanna chứng quả A-la-hán.
Bậc Ðạo Sư trong buổi họp Tăng chúng ở tinh xá Kỳ Viên, đã xác chứng ngài là bậc Ðệ nhất trong các hàng Tăng chúng Tỷ-kheo (Xem. Ang. i. 26). Và trong một trường hợp khi Kondanna giảng về Bốn sự thật, đề cập đến ba tướng: Vô thường, Khổ, Vô ngã, với những phương pháp sai biệt, dựa trên Niết-bàn và giảng với sự lưu loát của đức Phật. Bài giảng ảnh hưởng mạnh mẽ đến Sakka (Ðế Thích) khiến vị này thốt lên những bài kệ:
*673. Ta bội phần hân hoan,* *Ðược nghe pháp vị lớn,* *Pháp được giảng ly tham,* *Hoàn toàn không chấp thủ.*
Trong một trường hợp khác, thấy tâm tư của một số người còn bị chi phối nặng nề bởi tà kiến, nên ngài nói lên bài kệ như sau:
*674. Trên thế giới đất tròn,* *Nhiều màu sắc hình tướng,* *Làm say đắm tâm tư,* *Ta nghĩ là như vậy,* *Tướng tịnh rất hấp dẫn,* *Liên hệ đến tham dục.* *675. Như gió thổi tung bụi,* *Ðược mây trấn áp xuống,* *Các tư duy lắng dịu,* *Khi thấy, với trí tuệ.* *676. Mọi hành là vô thường* *Khi thấy với trí tuệ,* *Vị ấy nhàm chán khổ,* *Ðây con đường đến tịnh.* *677. Mọi hành là đau khổ,* *Khi thấy với trí tuệ,* *Vị ấy nhàm chán khổ,* *Ðây con đường đến tịnh.* *678. Mọi pháp là vô ngã,* *Khi thấy với trí tuệ,* *Vị ấy nhàm chán khổ,* *Ðây con đường đến tịnh.*
Rồi ngài nêu rõ, ngài đã chứng được thiền quán ấy, và nói lên chánh trí, ngài nói rằng:
*679. Trưởng lão Kondanna,* *Giác ngộ bởi giác ngộ,* *Ðã sắc bén thoát ly,* *Ðoạn tận sanh và chết,* *Và đời sống Phạm hạnh,* *Ðược hoàn toàn viên mãn.* *680. Hoặc bộc lưu, bẫy mồi,* *Hoặc cột trụ vững chắc,* *Ngọn núi khó phá hoại,* *Sau khi chặt phá xong,* *Cột trụ và bẫy mồi,* *Chặt tảng đá khó phá,* *Hành thiền, vượt bờ kia,* *Thoát khỏi Ma trói buộc.* *681. Tỷ-kheo hoảng hốt động,* *Ði đến các bạn ác,* *Chìm trong bộc lưu lớn,* *Bị sóng lớn ngập tràn.* *682. Bậc trí không hoảng hốt,* *Không dao động, thận trọng,* *Các căn khéo chế ngự,* *Làm bạn với kẻ thiện,* *Bậc trí tuệ như vậy,* *Có thể đoạn đau khổ.* *683. Một người đen, gầy mòn,* *Yếu ốm, đầy đường gân,* *Tiết độ trong ăn uống,* *Tâm tư không ưa não.* *683. Trong rừng núi rộng lớn,* *Bị muỗi ruồi đốt cắn,* *Như con voi lâm trận,* *Ta chánh niệm, chịu đựng.* *684. Ta không thích thú chết,* *Ta không thích thú sống,* *Ta chờ thời gian đến,* *Như thợ làm việc xong.* *685. Ta không thích thú chết,* *Ta không thích thú sống,* *Ta chờ thời gian đến,* *Tỉnh giác, giữ chánh niệm.* *686. Ðạo Sư, ta hầu hạ,* *Lời Phật dạy, làm xong,* *Gánh nặng, đặt xuống thấp,* *Gốc sanh hữu, nhổ sạch.* *687. Vì mục đích xuất gia,* *Bỏ nhà, sống không nhà,* *Mục đích ấy, ta đạt,* *Ta cần gì ở rừng.* **Bài viết được Đạo Phật Nguyên Thủy trích từ Kinh Tiểu Bộ** **Do Hòa thượng Thích Minh Châu dịch từ tiếng Pali**
## No comments:
## Post a Comment

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: application/xhtml+xml

Server: GSE

X-Content-Type-Options: nosniff

Cache-Control: private, max-age=0

X-XSS-Protection: 1; mode=block

Content-Type: text/html; charset=UTF-8


text:
Sarangan
0 khách sạn
{{text}}
{{totalSearch}}
22-05-2018
Thứ ba
{{DateCheckinStr}}
{{DayOfWeekCheckinStr}}
23-05-2018
Thứ tư
{{DateCheckoutStr}}
{{DayOfWeekCheckoutStr}}
2 người lớn, 0 trẻ em
1 Phòng
{{AdultsTotalStr}} người lớn, {{ChildTotalStr}} trẻ em
{{RoomNumber.value}} Phòng
Độ tuổi trẻ em

WARC-Identified-Payload-Type: text/html

Server: nginx

Content-Type: text/html; charset=utf-8

Connection: close

Vary: Accept-Encoding

Cache-Control: private

Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS

X-Cache: HIT from VV-ViVu04

X-Cache-Lookup: HIT from VV-ViVu04:82


text:
Szantod
0 khách sạn
{{text}}
{{totalSearch}}
22-05-2018
Thứ ba
{{DateCheckinStr}}
{{DayOfWeekCheckinStr}}
23-05-2018
Thứ tư
{{DateCheckoutStr}}
{{DayOfWeekCheckoutStr}}
2 người lớn, 0 trẻ em
1 Phòng
{{AdultsTotalStr}} người lớn, {{ChildTotalStr}} trẻ em
{{RoomNumber.value}} Phòng
Độ tuổi trẻ em

X-Cache: MISS from VV-ViVu04

X-Cache-Lookup: MISS from VV-ViVu04:82


text:
-
Thiết Bị Nâng Đỡ
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Thang nhôm
-
Máy Hàn & Phụ Kiện
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Thiết Bị, Dụng Cụ Đo
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Thiết Bị Đo Điện
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Dụng Cụ Điện
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Dụng Cụ Cầm Tay
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Dụng Cụ Khí Nén
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Thiết Bị Dùng Nước
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Dụng Cụ Dùng Xăng
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Phụ Kiện Các Loại
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
Thiết Bị Tổng Hợp
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-

markdown:
-
[Thiết Bị Nâng Đỡ](https://www.ketnoitieudung.vn/danh-muc-san-pham/thiet-bi-nang-do_1599.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Thang nhôm](https://www.ketnoitieudung.vn/danh-muc-san-pham/thang-nhom_31.html)
-
[Máy Hàn & Phụ Kiện](https://www.ketnoitieudung.vn/danh-muc-san-pham/may-han-phu-kien_1606.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Thiết Bị, Dụng Cụ Đo](https://www.ketnoitieudung.vn/danh-muc-san-pham/thiet-bi-do_1595.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Thiết Bị Đo Điện](https://www.ketnoitieudung.vn/danh-muc-san-pham/thiet-bi-do-dien_1596.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Dụng Cụ Điện](https://www.ketnoitieudung.vn/danh-muc-san-pham/dung-cu-dien_1597.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Dụng Cụ Cầm Tay](https://www.ketnoitieudung.vn/danh-muc-san-pham/dung-cu-cam-tay_1598.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Dụng Cụ Khí Nén](https://www.ketnoitieudung.vn/danh-muc-san-pham/dung-cu-khi-nen_1600.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Thiết Bị Dùng Nước](https://www.ketnoitieudung.vn/danh-muc-san-pham/thiet-bi-dung-nuoc_1601.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Dụng Cụ Dùng Xăng](https://www.ketnoitieudung.vn/danh-muc-san-pham/dung-cu-dung-xang_1602.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Phụ Kiện Các Loại](https://www.ketnoitieudung.vn/danh-muc-san-pham/phu-kien-cac-loai_1603.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-
-
[Thiết Bị Tổng Hợp](https://www.ketnoitieudung.vn/danh-muc-san-pham/thiet-bi-tong-hop_1604.html)
-
Nổi bật
-
Danh mục
-
Thương Hiệu Nổi Bật
-

WARC-Truncated: length

Vary: Accept-Encoding,User-Agent

Pragma: no-cache

Set-Cookie: csscached=20171031; expires=Thu, 16-May-2019 11:12:11 GMT; Max-Age=31104000; path=/; domain=.ketnoitieudung.vn

Server: VietNamHost

Cache-Control: max-age=0, no-cache, no-store


text:
Đăng nhập
Yêu thích
Ẩm thực
Handmade
Gia đình Việt
Đời sống
Khỏe đẹp +
Khám phá
Ẩm thực
Handmade
Gia đình Việt
Đời sống
Khỏe đẹp +
Khám phá
LAMSAO.COM
Trang chủ
Ẩm thực
Handmade
Gia đình Việt
Nhà cửa
Gia đình
Cha mẹ trẻ
Đời sống
Giới trẻ
Du lịch
Văn hóa
Khỏe đẹp +
Sức khỏe
Dinh dưỡng
Khỏe đẹp
Đẹp
Thời trang
Khám phá
Sự nghiệp
Công nghệ
Giáo dục
Xe 360°
Thể thao
Bài viết yêu thích
Đăng nhập
Lamsao.com
Gia đình
Vợ chồng
Hạnh phúc gia đình
Những mẫu đàn ông mà mỗi phụ nữ đều mong có trong đời
yêu thích
Để cuộc sống của mình luôn vui vẻ, hạnh phúc và có ý nghĩa hơn những người phụ nữ nên tìm những người đàn ông dưới đây để đem lại hạnh phúc cho gia đình
Cách gia tăng sự gần gũi cho các cặp vợ chồng trong mùa hè
Chia sẻ những địa điểm du lịch lý tưởng cho gia đình dịp 30/4
Cách 'hâm nóng' tình cảm vợ chồng ngày Valentine
Ngoài tình yêu đôi lứa, tình vợ chồng, là một phụ nữ, bạn cũng cần phải có những tình bạn khác giới hoặc những người đàn ông đáng tin cậy khác.
Tất nhiên, tùy theo lối sống và tính cách của bạn mà bạn có thể có những người bạn khác giới khác nhau. Song, để cuộc sống luôn tốt đẹp và giúp bạn sống tích cực hơn, bạn cần có những người đàn ông đáng tin cậy sau bên cạnh. Chính những người đàn ông này sẽ cho bạn những lời khuyên trung thực và thúc đẩy bạn có thêm động lực sống cho bản thân.
Dưới đây là những người đàn ông mà mỗi phụ nữ nên có nếu muốn cuộc sống ý nghĩa và tốt đẹo hơn.
1
Mr. Vui vẻ
Đây luôn là một anh chàng mà bất cứ sự xuất hiện nào của người ấy cũng có thể làm cho bạn thấy thích thú và hạnh phúc. Thậm chí, ngay cả khi mọi thứ đã hoàn toàn đổ vỡ với bạn, nhưng có người đàn ông này ở bên, bạn sẽ nhanh chóng lấy lại được tinh thần và có động lực mạnh mẽ để làm lại từ đầu.
Những anh chàng vui vẻ luôn là một anh chàng mà bất cứ sự xuất hiện nào của người ấy cũng có thể làm cho bạn thấy thích thú và hạnh phúc
Đặc biệt, với người bạn khác giới thân thiết này, bạn cảm nhận rõ người ấy có sự quyến rũ từ bên trong. Và bạn cũng sẽ dần nhận ra những nét đẹp trong tâm hồn mình thay vì trước đó không bao giờ chú ý hoặc chỉ nhìn với cái nhìn hời hợt.
Những anh chàng luôn làm cho bạn vui vẻ tất nhiên sẽ không thể ở bên động viên bạn 24/7. Nhưng ngay cả khi anh ấy không có ở đây, bạn vẫn luôn học hỏi được tinh thần sống vui vẻ người ấy.
2
Mr. Thẳng thắn
Hầu hết phụ nữ khi bị đổ vỡ trong chuyện tình cảm, sự nghiệp thường rất khó để lấy lại cân bằng cho chính mình. Khi ấy, bạn thật sự cần những lời khuyên thành thật, thậm chí cả những lời chì chiết tàn nhẫn để có một kết thúc dứt khoát và vực dậy lại chính bản thân mềm yếu của mình.
Khi ấy, một người đàn ông thẳng thắn có thể sẽ không cho bạn một lời động viên ngọt ngào. Họ có thể thẳng thừng dúi cho bạn một cái thuổng thật thô vào trong câu chuyện của bạn. Điều này ít nhiều ban đầu khiến bạn cảm thấy bị tự ái và xúc phạm.
Song sau khi đã bình tâm, bạn lại thấy những lời thẳng thắn ấy của người này thật đáng quý. Và đó là một trong những lý do bạn thấy người bạn ấy nổi bật nhất, đáng trân trọng nhất.
3
Mr. Sống thuần khiết
Một người đàn ông có tình yêu và lý tưởng sống thuần khiết có thể là một người bạn tuyệt vời của bạn. Bởi thực tế, nếu không có vấn đề gì về giới tính, những anh chàng này có thể chia sẻ với bạn nhiều điều trong cuộc sống. Đặc biệt, họ rất đáng tin cậy và biết giữ lời hứa.
Một anh chàng sống có lý tưởng đẹp và thuần khiết cũng chính là người sẽ có thể khôi phục lại sự tự tin nhanh chóng cho bạn sau khi trái tim bạn đã bị tan vỡ.
Một anh chàng sống có lý tưởng đẹp và thuần khiết cũng chính là người sẽ có thể khôi phục lại sự tự tin nhanh chóng cho bạn sau khi trái tim bạn đã bị tan vỡ
4
Mr. Phiêu lưu mạo hiểm
Với một người đàn ông có cá tính mạnh mẽ luôn ưa thích sự phiêu lưu mạo hiểm thì bạn sẽ không bao giờ cảm thấy buồn chán trong cuộc sống.
Anh chàng này sẽ đẩy bạn ra khỏi những rắc rối, mệt mỏi đang có của chính bạn. Hơn nữa, anh ta còn cho bạn thấy sẽ luôn luôn có cơ hội để thoát ra khỏi những điều này một cách tự nhiên nhất. Song có một thực tế, bạn sẽ không bao giờ có thể bó buộc một anh chàng thích phiêu lưu mạo hiểm ở bên bạn. Bởi vì một anh chàng như vậy sẽ cần rất nhiều không gian để bay nhảy.
Bài viết liên quan
Cách gia tăng sự gần gũi cho các cặp vợ chồng trong mùa hè
Chia sẻ những địa điểm du lịch lý tưởng cho gia đình dịp 30/4
Cách 'hâm nóng' tình cảm vợ chồng ngày Valentine
Bí quyết để các cặp vợ chồng có Valentine hoàn hảo
Bí quyết chiều vợ ngày valentine
Hướng dẫn ý tưởng Valentine cho cả gia đình
Tết của người Hà Nội xưa qua ảnh
Bí quyết để con giúp bố mẹ dọn nhà đón Tết (P2)
Được tài trợ
loading...
Top 5 tiêu điểm tuần
1
Bí quyết giữ chồng hoàn hảo của những cô đầm đất Pháp
2
Làm sao để chàng 'nghiện' bạn phát điên và luôn muốn về nhà?
3
4 tiêu chuẩn nàng dâu hiện đại cần phải có trước khi kết hôn
4
Những thói quen vô tình khiến hạnh phúc gia đình tan vỡ
5
3 thói quen khẳng định chàng là người chồng chung thủy
Bài viết nổi bật
Làm sao để chồng yêu thương, chiều chuộng hơn?
179.537 lượt xem
Làm sao để biết chồng bạn là người yêu thương vợ?
156.067 lượt xem
Cách nhận biết chồng yêu vợ vô bờ bến
140.882 lượt xem
Cách chiều chồng khôn khéo để giữ mãi hạnh phúc gia đình
128.190 lượt xem
Cách để vợ chồng luôn hạnh phúc đến đầu bạc răng long
90.365 lượt xem
Về Lamsao
Liên hệ
Video
Góp ý
Sự kiện
Đăng nhập
Đăng ký
Nhớ mật khẩu
Đăng nhập
Bạn quên mật khẩu
Nhập vào tên đăng nhập để nhận mật khẩu mới
Gửi yêu cầu
Đăng ký
Lưu bài viết yêu thích
Tiêu đề
Hoàn tất


text:
Đánh giá công ty tại các quốc gia khác
Xem những công ty đứng đầu tại các quốc gia khác.
Những công ty được đánh giá tốt nhất - Úc
-
Avis
Xếp hạng :10000+
-
-
Thrifty
Xếp hạng :10000+
-
-
Bargain Car Rentals
Xếp hạng :2000+
Những công ty được đánh giá tốt nhất - Hoa Kỳ
Những công ty được đánh giá tốt nhất - Pháp
-
Sixt
Xếp hạng :10000+
-
Keddy By Europcar
Xếp hạng :25000+
-
Avis
Xếp hạng :25000+
-
Europcar
Xếp hạng :25000+
-
Alamo
Xếp hạng :25000+
Những công ty được đánh giá tốt nhất - Ý
-
Locauto
Xếp hạng :50000+
-
Alamo
Xếp hạng :5000+
-
-
-
Sicily By Car
Xếp hạng :100000+

markdown:
## Đánh giá công ty tại các quốc gia khác
Xem những công ty đứng đầu tại các quốc gia khác.
### Những công ty được đánh giá tốt nhất - Úc
-
[Avis](https://www.rentalcars.com/vi/country/au/avis/)
Xếp hạng :10000+
-
-
[Thrifty](https://www.rentalcars.com/vi/country/au/thrifty/)
Xếp hạng :10000+
-
-
[Bargain Car Rentals](https://www.rentalcars.com/vi/country/au/bargain-car-rentals/)
Xếp hạng :2000+
### Những công ty được đánh giá tốt nhất - Hoa Kỳ
### Những công ty được đánh giá tốt nhất - Pháp
-
[Sixt](https://www.rentalcars.com/vi/country/fr/sixt/)
Xếp hạng :10000+
-
[Keddy By Europcar](https://www.rentalcars.com/vi/country/fr/keddy-by-europcar/)
Xếp hạng :25000+
-
[Avis](https://www.rentalcars.com/vi/country/fr/avis/)
Xếp hạng :25000+
-
[Europcar](https://www.rentalcars.com/vi/country/fr/europcar/)
Xếp hạng :25000+
-
[Alamo](https://www.rentalcars.com/vi/country/fr/alamo/)
Xếp hạng :25000+
### Những công ty được đánh giá tốt nhất - Ý
-
[Locauto](https://www.rentalcars.com/vi/country/it/locauto/)
Xếp hạng :50000+
-
[Alamo](https://www.rentalcars.com/vi/country/it/alamo/)
Xếp hạng :5000+
-
-
-
[Sicily By Car](https://www.rentalcars.com/vi/country/it/sicily-by-car/)
Xếp hạng :100000+

X-Download-Options: noopen

Cache-Control: no-cache, no-store, max-age=0, must-revalidate

Set-Cookie: tj_lb=; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT


text:
Thuê Xe ở Belváros Lipótváros
Điền vào mẫu tìm kiếm dưới đây để tìm xe thuê giá rẻ tại Belváros Lipótváros
Điền email của bạn vào và chúng tôi sẽ gởi số tham khảo cho bạn.
Chúng tôi đã gởi số tham khảo đặt thuê đến email của quý khách.
Chúng tôi không thể tìm thấy đặt thuê nào với email được cung cấp. Vui lòng Liên Lạc Chúng Tôi qua liên kết này.
Điền vào mẫu tìm kiếm dưới đây để tìm xe thuê giá rẻ tại Belváros Lipótváros
Mỗi ngày, hàng nghìn người tin tưởng chúng tôi để tìm cho họ chiếc xe thuê hoàn hảo với mức giá tốt nhất.
Chúng tôi được xếp loại 7.7 trong số 10 trên dựa vào 78,437 đánh giá.
Làm việc với hơn 900 công ty ở 160 quốc gia, chúng tôi có thể tìm chiếc xe phù hợp ở địa điểm phù hợp, với mức giá phù hợp.
Dễ dàng thay đổi đăng ký của bạn qua mạng
Chúng tôi đề nghị từng khách hàng đánh giá công ty cung cấp xe. Kiểm tra điểm số - và có lựa chọn đúng.
Giá cước được công bố là giá tốt nhất mỗi ngày trong suốt 2 tuần qua. Giá cước luôn biến đổi
Giá cước được công bố là giá tốt nhất mỗi ngày trong suốt 2 tuần qua. Giá cước luôn biến đổi

markdown:
# Thuê Xe ở Belváros Lipótváros
Điền vào mẫu tìm kiếm dưới đây để tìm xe thuê giá rẻ tại Belváros Lipótváros
Điền email của bạn vào và chúng tôi sẽ gởi số tham khảo cho bạn.
Chúng tôi đã gởi số tham khảo đặt thuê đến email của quý khách.
Chúng tôi không thể tìm thấy đặt thuê nào với email được cung cấp. Vui lòng
[Liên Lạc Chúng Tôi](/ContactUs.do) qua liên kết này.
Điền vào mẫu tìm kiếm dưới đây để tìm xe thuê giá rẻ tại Belváros Lipótváros
Mỗi ngày, hàng nghìn người tin tưởng chúng tôi để tìm cho họ chiếc xe thuê hoàn hảo với mức giá tốt nhất.
Chúng tôi được xếp loại 7.7 trong số 10 trên
dựa vào 78,437 đánh giá.
Làm việc với hơn 900 công ty ở 160 quốc gia, chúng tôi có thể tìm chiếc xe phù hợp ở địa điểm phù hợp, với mức giá phù hợp.
Dễ dàng thay đổi đăng ký của bạn qua mạng
Chúng tôi đề nghị từng khách hàng đánh giá công ty cung cấp xe. Kiểm tra điểm số - và có lựa chọn đúng.
Giá cước được công bố là giá tốt nhất mỗi ngày trong suốt 2 tuần qua. Giá cước luôn biến đổi
Giá cước được công bố là giá tốt nhất mỗi ngày trong suốt 2 tuần qua. Giá cước luôn biến đổi


text:
Xuất xứ » Trung Quốc
Mã hàng : TAL-172-069
Mã hàng : ASA-641-500
Giá : 164,000 VNĐ
Mã hàng : TJM-250-079
Mã hàng : END-565-508
Giá : 154,000 VNĐ
Mã hàng : END-564-178
Giá : 135,000 VNĐ
Mã hàng : ING-031-080
Giá : 130,000 VNĐ
Mã hàng : END-566-509
Giá : 231,000 VNĐ
Mã hàng : TOT-171-221
Giá : 104,000 VNĐ
Mã hàng : ASA-632-122
Giá : 102,000 VNĐ
Mã hàng : TJM-300-080
Mã hàng : END-564-179
Giá : 177,000 VNĐ
Mã hàng : ING-031-090
Giá : 165,000 VNĐ
Mã hàng : END-566-522
Giá : 303,000 VNĐ
Mã hàng : TOT-171-223
Giá : 121,000 VNĐ
Mã hàng : ASA-633-123
Giá : 125,000 VNĐ

markdown:
![ line](/images/line.jpg)
**Xuất xứ**» Trung Quốc **Mã hàng : TAL-172-069** **Mã hàng : ASA-641-500**
Giá : 164,000 VNĐ
**Mã hàng : TJM-250-079** **Mã hàng : END-565-508**
Giá : 154,000 VNĐ
**Mã hàng : END-564-178**
Giá : 135,000 VNĐ
**Mã hàng : ING-031-080**
Giá : 130,000 VNĐ
**Mã hàng : END-566-509**
Giá : 231,000 VNĐ
**Mã hàng : TOT-171-221**
Giá : 104,000 VNĐ
**Mã hàng : ASA-632-122**
Giá : 102,000 VNĐ
**Mã hàng : TJM-300-080** **Mã hàng : END-564-179**
Giá : 177,000 VNĐ
**Mã hàng : ING-031-090**
Giá : 165,000 VNĐ
**Mã hàng : END-566-522**
Giá : 303,000 VNĐ
**Mã hàng : TOT-171-223**
Giá : 121,000 VNĐ
**Mã hàng : ASA-633-123**
Giá : 125,000 VNĐ

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Content-Type: text/html


text:
Trang chủ
|
Dịch vụ
|
Catalog
|
Thanh toán
|
Liên Hệ
Giỏ hàng
(0)
Gioi thieu
Hình ảnh hoạt động
Sơ đồ tổ chức
Lịch sử hình thành
Giới thiệu công ty
Danh muc
Vật liệu mài mòn
Dụng cụ cầm tay
Dụng cụ dùng điện
Dụng cụ đo chính xác
Thiết bị ngành hàn
Điện và thiết bị điện
Bảo hộ lao động
Vệ sinh công nghiệp
Vận chuyển nâng đỡ
Bảo quản đóng gói
Sản phẩm hóa chất
Dụng cụ dùng khí nén
Thiết bị viễn thông
Thiết bị y tế
Xem tất cả
Nha san xuat
3M
Advance
AEG
Agilent
AGP
Aikyo
Alspec
AMP
Amtek
Apech
Asak
Asaki
Barker
BDS
Xem tất cả
Tin tuc
Nha san xuat
Dang nhap
Xuất xứ
» Đài Loan
Xem theo danh sách
Xem thư viện
10" Kìm tuốt dây Sata 91-106 (91106)
Mã hàng : STT-911-130
Sata
Đài Loan
783,000 VNĐ
6-1/2" Kìm cắt, tuốt dây Sata 91-108 (91108)
Mã hàng : STA-911-976
Sata
Đài Loan
422,000 VNĐ
6" Kìm cắt, tuốt dây Sata 91-201 (91201)
Mã hàng : STA-912-974
Sata
Đài Loan
245,000 VNĐ
6" Kìm tước dây Kingtony 6711-06
Mã hàng : KIG-671-291
Kingtony
Đài Loan
197,000 VNĐ
6" Kìm tước dây Kingtony 6716-06A
Mã hàng : KIG-671-325
Kingtony
Đài Loan
277,000 VNĐ
7" Kìm cắt, tuốt dây Sata 91-202 (91202)
Mã hàng : STA-912-973
Sata
Đài Loan
258,000 VNĐ
7" Kìm tuốt dây 4015-07
Mã hàng : VTA-070-043
Vata
Đài Loan
169,000 VNĐ
7" Kìm tuốt dây tự động Sata 91-212 (91212)
Mã hàng : STA-912-972
Sata
Đài Loan
225,000 VNĐ
7" Kìm tuốt dây tự động Sata 91-213 (91213)
Mã hàng : STA-912-971
Sata
Đài Loan
225,000 VNĐ
9" Kìm bấm cos Sata 91-105 (91105)
Mã hàng : STA-911-978
Sata
Đài Loan
907,000 VNĐ
1
2
CÔNG TY THIẾT BỊ CÔNG NGHIỆP GTG
2/64C Đất Thánh, P.6, Q.Tân Bình, TP HCM
Điện thoại: 028 3868 6666
Fax: 028 3868 6688
Giấy ĐKKD số: 0303059482 tại TP HCM
CHÍNH SÁCH BÁN HÀNG
- Chính sách bảo mật thông tin
- Chính sách vận chuyển
- Quy trình giao hàng
- Chính sách đổi trả hàng
HỖ TRỢ KHÁCH HÀNG
- Hướng dẫn mua hàng
- Hướng dẫn thanh toán
- Các hình thức mua hàng
- Sơ đồ đường đi
Trụ sở tại Hà Nội:
Địa chỉ: 71 Hoàng Cầu, P. Ô Chợ Dừa, Quận Đống Đa
Điện thoại: 024 3901 6666 - Fax: 024 3910 6666
Tắt [X]
Dụng cụ cầm tay
Chìa lục giác
|
Búa rìu
|
Cảo
|
Cờ lê mỏ lếch
|
Dụng cụ cắt
|
Dụng cụ dùng pin
|
Dụng cụ tổng hợp
|
Êtô
|
Kiềm
|
Ống đếu
|
Tuốt nơ vít
Dụng cụ dùng điện
Máy bào
|
Máy cắt
|
Máy chà nhám
|
Máy cưa
|
Máy đánh bóng
|
Máy đục bê tông
|
Máy khoan
|
Máy mài
|
Súng thổi hơi nóng
Thiết bị điện
Ampe kìm
|
Đo điện trở cách điện
|
Đồng hồ vạn năng
Dụng cụ đo chính xác
Máy đo khoảng cách
|
Dụng cụ cân bằng laser
|
Máy đo nhiệt độ
|
Máy đo độ ẩm
|
Thước kẹp caliper
|
Thước panme
Bảo hộ lao động
Bình chữa cháy
|
Nón | mặt nạ
|
Quạt công nghiệp
|
Thang
|
Quần áo bảo hộ
|
Găng tay bảo hộ
|
Giày ủng bảo hộ
Vận chuyển bảo quản
Con đội
|
Palăng | tời
|
Xe đẩy
|
Thùng đựng dụng cụ
Trang chủ
|
Dịch vụ
|
Catalog
|
Tin tức
|
Liên hệ
Đang online :163 - Tổng truy cập : 196,391,912
+ + + + + + + +
Dụng cụ cầm tay nhập khẩu
Dụng cụ điện cầm tay
Dụng cụ đo chính xác


text:
Qui cách xe tải 1 tấn:
- Khối lượng hàng cho phép: 1.000 Kg
- Kích thước thùng xe (Dài x Rộng x Cao): 3m - 1.7m - 1.7m
- Thể tích: 8.5 m3
- Kiểu thùng: mui bạt
Quý khách có nhu cầu cần thuê xe tải 1 tấn tại Củ Chi,TPHCM.Vui lòng gọi điện thoại đến bộ phận điều vận của công ty để chúng tôi được tư vấn và báo giá tốt nhất!
* Hotline 1: 0933.027.420
* Hotline 2: 0963.047.420
* WEB: www.xetai1tan.com

markdown:
**Qui cách xe tải 1 tấn**:
- Khối lượng hàng cho phép:
**1.000 Kg**
- Kích thước thùng xe (Dài x Rộng x Cao)
**: 3m - 1.7m - 1.7m**
- Thể tích:
**8.5 m** 3
- Kiểu thùng:
**mui bạt**
Quý khách có nhu cầu cần
[thuê xe tải 1 tấn](http://www.xetai1tan.com/)tại [Củ Chi,TPHCM](//goo.gl/maps/F8jJ7).Vui lòng gọi điện thoại đến bộ phận điều vận của công ty để chúng tôi được tư vấn và báo giá tốt nhất! **** ****
* Hotline 1:
**0933.027.420**
* Hotline 2:
**0963.047.420**
* WEB:


text:
Chúng tôi thấy rằng bạn đang sử dụng một trình duyệt không được hỗ trợ. Trang web của TripAdvisor có thể không hiển thị đúng.Chúng tôi hỗ trợ các trình duyệt sau:
Windows:
Internet Explorer
,
Mozilla Firefox
,
Google Chrome
. Mac:
Safari
.
Padua
Du lịch Padua
Khách sạn tại Padua
Giường và bữa sáng tại Padua
Chuyến bay tới Padua
Nhà hàng tại Padua
Hoạt động giải trí tại Padua
Ảnh về Padua
Bản đồ Padua
Tất cả Khách sạn tại Padua
Giảm giá khách sạn tại Padua
Các khách sạn phút chót tại Padua
Theo loại khách sạn
Khách sạn gia đình tại Padua
Khách sạn lãng mạn tại Padua
Khách sạn Xanh tại Padua
Khách sạn có giá trị tốt nhất tại Padua
Khách sạn Thương gia tại Padua
Khu nghỉ dưỡng spa tại Padua
Theo hạng khách sạn
Khách sạn 5 sao tại Padua
Khách sạn 4 sao tại Padua
Khách sạn 3 sao tại Padua
Các tiện nghi phổ biến
Khách sạn có đỗ xe miễn phí tại Padua
Khách sạn cho phép mang theo vật nuôi tại Padua
Khách sạn có bể bơi tại Padua
Thắng cảnh ở gần
Khách sạn ở gần Museum of Machines Enrico Bernardi
Khách sạn ở gần Palazzo Bibi
Khách sạn ở gần Ponte dei Graissi
Khách sạn ở gần Museo di Anatomia Patologica G. Morgagni
Khách sạn ở gần Villa Pocchini Pacchierotti Zemella
Khách sạn ở gần Associazione Culturale I MERCANTI DI SOGNI
Khách sạn ở gần Santuario Madonna Pellegrina
Khách sạn ở gần Altare della Patria
Khách sạn ở gần Palazzo Folco, La “Ca’ del Figo”
Khách sạn ở gần Barcone Berto
Padua
Lời khuyên:
Bạn có thể tìm thấy tất cả địa điểm đã lưu ở đây trong Chuyến đi của tôi.
Hộp thư đến
Xem tất cả
Đăng nhập
để nhận cập nhật chuyến đi và gửi tin nhắn cho khách du lịch khác.
THAM GIA
tại
Nhập một điểm đến
Tìm kiếm
Giới thiệu về Padua
Khách sạn
Chuyến bay
Nhà hàng
Hoạt động giải trí
Hãng hàng không
Tốt nhất năm 2018
Trung tâm trợ giúp
Đăng nhập
Tham gia
Chuyến đi
Đã xem gần đây
Đặt phòng
Hộp thư đến
Thêm
Trung tâm trợ giúp
Đánh giá Museum of Machines Enrico Bernardi, Padua
Châu Âu
Ý
Veneto
Province of Padua
Padua
Hoạt động giải trí tại Padua
Museum of Machines Enrico Bernardi
Museum of Machines Enrico Bernardi
Số 431
trong số 431
hoạt động giải trí tại Padua
Viện bảo tàng chuyên ngành
,
Bảo tàng
Via Venezia 1
,
35131, Padua,
Ý
+39 049 827 6700
Trang web
Chia sẻ
Lưu
>
>
Tất cả ảnh (3)
Toàn màn hình
Viết đánh giá
Tổng quan
Chuyến tham quan & vé
Đánh giá
Địa điểm
H&Đ
Thêm
Cũng hiển thị
Khách sạn
Nhà hàng
Hoạt động giải trí
Cũng hiển thị
Bản đồ
Vệ tinh
Đã tạm dừng cập nhật bản đồ. Phóng to để xem thông tin cập nhật.
Đặt lại mức thu phóng
Đang cập nhật bản đồ...
Quay lại bản đồ
Tổng quan của khách du lịch
0 đánh giá
Tuyệt vời
0%
Rất tốt
0%
Trung bình
0%
Tồi
0%
Kinh khủng
0%
Hãy là người đầu tiên viết đánh giá
Viết đánh giá
Giới thiệu
Thời tiết địa phương
Cung cấp bởi
Weather Underground
F°
C°
22°
12°
thg 5
26°
15°
thg 6
28°
17°
thg 7
Liên hệ
Via Venezia 1
,
35131, Padua,
Ý
Trang web
+39 049 827 6700
Cải thiện hồ sơ này
Bạn có khuyên bạn mình
tham gia chuyến tham quan hướng dẫn bằng âm thanh
tại địa điểm này không?
Có
Không
Không chắc
Địa điểm hoặc hoạt động này có cung cấp
wi-fi miễn phí
không?
Có
Không
Không chắc
Bạn có phải
trả phí sử dụng wi-fi
tại địa điểm hoặc hoạt động này không?
Có
Không
Không chắc
Bạn có
phải trả phí
để vào địa điểm này không?
Có
Không
Không chắc
Có cần trả phụ phí để tham dự
triển lãm đặc biệt
không?
Có
Không
Không chắc
Đây có phải là địa điểm hoặc hoạt động mà bạn sẽ đề xuất cho
gia đình có trẻ nhỏ
không?
Có
Không
Không chắc
Đây có phải là địa điểm hoặc hoạt động mà bạn muốn đến vào
ngày mưa
không?
Có
Không
Không chắc
Bạn có cần xuất trình
Thẻ căn cước
khi ghé thăm điểm du lịch này không?
Có
Không
Không chắc
Địa điểm hoặc hoạt động này có
chấp nhận thẻ tín dụng
không?
Có
Không
Không chắc
Đây có phải là địa điểm hoặc hoạt động lãng mạn mà bạn sẽ đề xuất cho
các cặp đôi
không?
Có
Không
Không chắc
Cảm ơn bạn đã giúp đỡ!
Chia sẻ kinh nghiệm khác trước khi bạn rời khỏi trang.
Viết đánh giá
Hãy là một trong những người đầu tiên đánh giá
Đang cập nhật danh sách...
Quanh đây
Các khách sạn lân cận
Xem tất cả 43 khách sạn tại Padua
>
NH Padova
1.939 đánh giá
cách 0,22 km
>
Hotel Alla Fiera
264 đánh giá
cách 0,27 km
>
Best Western Premier Hotel Galileo Padova
1.323 đánh giá
cách 0,28 km
>
B&B Hotel Padova
586 đánh giá
cách 0,47 km
Các nhà hàng lân cận
>
Trattoria Al Fungo
649 đánh giá
cách 0,24 km
>
Idea Pizza
213 đánh giá
cách 0,45 km
>
Ristorante Zafferano
469 đánh giá
cách 0,2 km
>
Hosteria Moderna Padova
239 đánh giá
cách 0,25 km
Các điểm du lịch lân cận
>
Planetario di Padova
235 đánh giá
cách 0,74 km
>
In Fuga Escape Room Padova
166 đánh giá
cách 0,22 km
>
Padova Pride Village
36 đánh giá
cách 0,33 km
>
Escape Room intrappola.to
7 đánh giá
cách 0,53 km
Câu hỏi & Câu trả lời
Nhận câu trả lời nhanh từ nhân viên và khách trước đây của Museum of Machines Enrico Bernardi.
Lưu ý: câu hỏi của bạn sẽ được đăng công khai trên trang Hỏi & Đáp.
Kiểm chứng:
Nguyên tắc đăng bài
Gửi
Liên quan đến các mục bạn đã xem
Museum of Mineralogy
1 đánh giá
Viện bảo tàng chuyên ngành
Museum of the History of Physics
3 đánh giá
Viện bảo tàng chuyên ngành
Zoological Museum
3 đánh giá
Viện bảo tàng chuyên ngành
Botanical Museum
5 đánh giá
Viện bảo tàng chuyên ngành
Museum of Geology and Palaeontology
14 đánh giá
Viện bảo tàng chuyên ngành
Museo del Precinema
112 đánh giá
Viện bảo tàng chuyên ngành
thông tin chuẩn xác
an tâm đặt chỗ
tha hồ du lịch
© 2018 TripAdvisor LLC Bảo lưu mọi quyền.
Điều khoản sử dụng
|
Chính sách quyền riêng tư
|
Sơ đồ trang web
* TripAdvisor LLC không phải là một đại lý đặt phòng và không tính phí dịch vụ cho người dùng trang web của chúng tôi... (
thêm
)
TripAdvisor LLC không chịu trách nhiệm đối với nội dung trên các trang web bên ngoài. Không bao gồm thuế, phí cho các nội dung giảm giá.
KHÁM PHÁ
Về chúng tôi
Trung tâm trợ giúp
ĐƠN VỊ TIỀN TỆ/VÙNG
US$
USD
Việt Nam

Server: Apache

P3P: CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT DSP COR CAO PSA IDC ADM DEVi TAIi PSD IVAi IVDi CONi HIS CNT"

Vary: User-Agent,Accept-Encoding

cache-control: no-cache,no-store,must-revalidate

Content-Language: vi

X-TA-CDN-Provider: Edgecast


text:
Chúng tôi thấy rằng bạn đang sử dụng một trình duyệt không được hỗ trợ. Trang web của TripAdvisor có thể không hiển thị đúng.Chúng tôi hỗ trợ các trình duyệt sau:
Windows:
Internet Explorer
,
Mozilla Firefox
,
Google Chrome
. Mac:
Safari
.
Imouzzer des Ida Outanane
Du lịch Imouzzer des Ida Outanane
Khách sạn tại Imouzzer des Ida Outanane
Giường và bữa sáng tại Imouzzer des Ida Outanane
Nhà hàng tại Imouzzer des Ida Outanane
Hoạt động giải trí tại Imouzzer des Ida Outanane
Ảnh về Imouzzer des Ida Outanane
Bản đồ Imouzzer des Ida Outanane
Tất cả Khách sạn tại Imouzzer des Ida Outanane
Giảm giá khách sạn tại Imouzzer des Ida Outanane
Theo hạng khách sạn
Khách sạn 5 sao tại Imouzzer des Ida Outanane
Khách sạn 3 sao tại Imouzzer des Ida Outanane
Thắng cảnh ở gần
Khách sạn ở gần Cascades
Tất cả nhà hàng Imouzzer des Ida Outanane
Khách sạn gần đây
Nhà hàng gần Hotel Restaurant Tifrit
Nhà hàng gần Riad de l'Olivier
Nhà hàng gần Bab Imouzzer
Thắng cảnh ở gần
Nhà hàng gần Cascades
Tất cả hoạt động giải trí tại Imouzzer des Ida Outanane
Khách sạn gần đây
Hoạt động giải trí gần Hotel Restaurant Tifrit
Hoạt động giải trí gần Riad de l'Olivier
Hoạt động giải trí gần Bab Imouzzer
Imouzzer des Ida Outanane
Lời khuyên:
Bạn có thể tìm thấy tất cả địa điểm đã lưu ở đây trong Chuyến đi của tôi.
Hộp thư đến
Xem tất cả
Đăng nhập
để nhận cập nhật chuyến đi và gửi tin nhắn cho khách du lịch khác.
THAM GIA
tại
Nhập một điểm đến
Tìm kiếm
Giới thiệu về Imouzzer...
Khách sạn
Chuyến bay
Nhà hàng
Hoạt động giải trí
Hãng hàng không
Tốt nhất năm 2018
Trung tâm trợ giúp
Đăng nhập
Tham gia
Chuyến đi
Đã xem gần đây
Đặt phòng
Hộp thư đến
Thêm
Trung tâm trợ giúp
Hoạt động giải trí hàng đầu gần Hotel des Cascades, Imouzzer des Ida Outanane
Châu Phi
Ma Rốc
Souss-Massa-Draa Region
Imouzzer des Ida Outanane
Hoạt động giải trí tại Imouzzer des Ida Outanane
Hoạt động giải trí gần Hotel des Cascades
Hoạt động giải trí gần Hotel des Cascades
|
Ida Outamane
,
Imouzzer des Ida Outanane 80300,
Ma Rốc
Đọc đánh giá về
Hotel des Cascades
Cascades
Số 1 trên 1 hoạt động giải trí ở Imouzzer des Ida Outanane
90 đánh giá
Paradise Valley, Imouzzer des Ida Outanane 80303 Ma Rốc
0,6 km
từ Hotel des Cascades
1-1
trong số
1
1
thông tin chuẩn xác
an tâm đặt chỗ
tha hồ du lịch
© 2018 TripAdvisor LLC Bảo lưu mọi quyền.
Điều khoản sử dụng
|
Chính sách quyền riêng tư
|
Sơ đồ trang web
* TripAdvisor LLC không phải là một đại lý đặt phòng và không tính phí dịch vụ cho người dùng trang web của chúng tôi... (
thêm
)
TripAdvisor LLC không chịu trách nhiệm đối với nội dung trên các trang web bên ngoài. Không bao gồm thuế, phí cho các nội dung giảm giá.
KHÁM PHÁ
Về chúng tôi
Trung tâm trợ giúp
ĐƠN VỊ TIỀN TỆ/VÙNG
US$
USD
Việt Nam


text:
Chúng tôi thấy rằng bạn đang sử dụng một trình duyệt không được hỗ trợ. Trang web của TripAdvisor có thể không hiển thị đúng.Chúng tôi hỗ trợ các trình duyệt sau:
Windows:
Internet Explorer
,
Mozilla Firefox
,
Google Chrome
. Mac:
Safari
.
Chuyến bay
Nhà hàng
Hoạt động giải trí
Du lịch Beckenried
Khách sạn tại Beckenried
Giường và bữa sáng tại Beckenried
Chuyến bay tới Beckenried
Nhà hàng tại Beckenried
Hoạt động giải trí tại Beckenried
Ảnh về Beckenried
Bản đồ Beckenried
Tất cả Khách sạn tại Beckenried
Sân bay ở gần
Khách sạn ở gần (ZRH) Sân bay Zurich
Khách sạn ở gần (BRN) Belp Airport
Ứng dụng
Thủ lĩnh Xanh
Beckenried
Lời khuyên:
Bạn có thể tìm thấy tất cả địa điểm đã lưu ở đây trong Chuyến đi của tôi.
Hộp thư đến
Xem tất cả
Đăng nhập
để nhận cập nhật chuyến đi và gửi tin nhắn cho khách du lịch khác.
THAM GIA
tại
Nhập một điểm đến
Tìm kiếm
Giới thiệu về Beckenried
Khách sạn
Chuyến bay
Nhà hàng
Hoạt động giải trí
Hãng hàng không
Tốt nhất năm 2018
Trung tâm trợ giúp
Đăng nhập
Tham gia
Chuyến đi
Đã xem gần đây
Đặt phòng
Hộp thư đến
Thêm
Trung tâm trợ giúp
Vé phổ thông đến Beckenried
Châu Âu
Thụy Sỹ
Canton of Nidwalden
Beckenried
Chuyến bay từ Beckenried
Chuyến bay Beckenried Phổ thông
Chuyến bay phổ thông đến Beckenried
Khứ hồi
Một chiều
Nhiều thành phố
Từ:
Đến:
4 thg 6
11 thg 6
1 người
,
Phổ thông
Phổ thông
Phổ thông
1
1 người lớn (18-64 tuổi)
0
0 người cao tuổi (từ 65 tuổi trở lên)
0
0 trẻ em (0-17 tuổi)
Tuổi của trẻ 1
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 2
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 3
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 4
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 5
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Đóng
Từ:
Đến:
4 thg 6
1 người
,
Phổ thông
Phổ thông
Phổ thông
1
1 người lớn (18-64 tuổi)
0
0 người cao tuổi (từ 65 tuổi trở lên)
0
0 trẻ em (0-17 tuổi)
Tuổi của trẻ 1
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 2
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 3
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 4
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 5
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Đóng
Từ:
Đến:
4 thg 6
Từ:
Đến:
4 thg 6
Từ:
Đến:
4 thg 6
Từ:
Đến:
4 thg 6
+
Thêm
-
Xóa
1 người
,
Phổ thông
Phổ thông
Phổ thông
1
1 người lớn (18-64 tuổi)
0
0 người cao tuổi (từ 65 tuổi trở lên)
0
0 trẻ em (0-17 tuổi)
Tuổi của trẻ 1
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 2
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 3
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 4
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tuổi của trẻ 5
Tuổi?
Tuổi?
< 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Đóng
Tìm chuyến bay
Ưu tiên bay thẳng
Bao gồm các sân bay lân cận
Bớt tùy chọn
Tùy chọn khác
So sánh giá
(trong cửa sổ mới)
JustFly
Expedia
Orbitz
OneTravel
Expedia Bundles
Chọn tất cả
Nhận thông báo khi giá từ
Washington DC
đến
Zürich
giảm.
Nhận thông báo khi giá giảm.
Tìm chuyến bay
Vé máy bay giá rẻ
được khách du lịch tìm thấy gần đây
Washington DC
WAS
Miami
MIA
190 US$
American Airlines
Th 2, 05/11 - Th 5, 08/11
190 US$
Washington DC
WAS
Los Angeles
LAX
592 US$
Alaska Airlines
Th 3, 22/5 - Th 6, 25/5
592 US$
Washington DC
WAS
Orlando
ORL
165 US$
American Airlines
Th 3, 16/10 - Th 3, 23/10
165 US$
Washington DC
WAS
Paris
PAR
1.390 US$
WOW air
CN, 17/6 - Th 5, 21/6
1.390 US$
Các hãng hàng không thông dụng phục vụ chuyến bay đến Zürich
Xem tất cả
SWISS
7.329 đánh giá
Lufthansa
18.880 đánh giá
United Airlines
25.981 đánh giá
Air Canada
13.308 đánh giá
Khách sạn thời thượng tại Beckenried
Boutique Hotel Schluessel
530 đánh giá
Beckenried, Thụy Sỹ
từ
Park Hotel Vitznau
409 đánh giá
Vitznau, Thụy Sỹ
từ
Hotel Nidwaldnerhof
251 đánh giá
Beckenried, Thụy Sỹ
từ
Krone Buochs - Hotel & Restaurant
126 đánh giá
Buochs, Thụy Sỹ
từ
thông tin chuẩn xác
an tâm đặt chỗ
tha hồ du lịch
© 2018 TripAdvisor LLC Bảo lưu mọi quyền.
Điều khoản sử dụng
|
Chính sách quyền riêng tư
|
Sơ đồ trang web
* TripAdvisor LLC không phải là một đại lý đặt phòng và không tính phí dịch vụ cho người dùng trang web của chúng tôi... (
thêm
)
TripAdvisor LLC không chịu trách nhiệm đối với nội dung trên các trang web bên ngoài. Không bao gồm thuế, phí cho các nội dung giảm giá.
KHÁM PHÁ
Về chúng tôi
Trung tâm trợ giúp
ĐƠN VỊ TIỀN TỆ/VÙNG
US$
USD
Việt Nam

cache-control: private, no-cache, no-store, must-revalidate


text:
Thông số kỹ thuật:
- Lĩnh vực ứng dụng: Đi công trình và đặt tại xưởng sản xuất cơ khí dân dụng.
- Khuyến cáo sử dụng: Chủ yếu hàn que 2.5 mm liên tục, que 3.2 mm với cường độ vừa phải.
Phụ kiện theo máy:
+ Đầu cắm theo máy: 2 cái
+ Không có dây kẹp mass và kiềm hàn
- Thông số kỹ thuật máy
- Điện áp vào: 1 pha 220VAC 50/60Hz ± 10%
- Công suất nguồn vào: 5.3 KVA
- Điện áp không tải: 56 V
- Khoảng dòng ra: 30-155 A
- Điện áp ra: 26.2 V
- Hiệu suất: 85%
- Trọng lượng: 6 kg
- Kích thước tổng thể: 290x132x216 mm
- Đường kính que hàn: 1.6-3.2 mm
- Công nghệ Anh, lắp ráp tại Trung Quốc

markdown:
|
|
## 155A Máy hàn que Jasic (DC) ARC-160
|Nhãn hàng:||
|**Thông số kỹ thuật: **
- Lĩnh vực ứng dụng: Đi công trình và đặt tại xưởng sản xuất cơ khí dân dụng.
- Khuyến cáo sử dụng: Chủ yếu hàn que 2.5 mm liên tục, que 3.2 mm với cường độ vừa phải.
**Phụ kiện theo máy:**
+ Đầu cắm theo máy: 2 cái
+ Không có dây kẹp mass và kiềm hàn
- Thông số kỹ thuật máy
- Điện áp vào: 1 pha 220VAC 50/60Hz ± 10%
- Công suất nguồn vào: 5.3 KVA
- Điện áp không tải: 56 V
- Khoảng dòng ra: 30-155 A
- Điện áp ra: 26.2 V
- Hiệu suất: 85%
- Trọng lượng: 6 kg
- Kích thước tổng thể: 290x132x216 mm
- Đường kính que hàn: 1.6-3.2 mm
- Công nghệ Anh, lắp ráp tại Trung Quốc


text:
ASEAN
Châu Mỹ
Châu Âu
Công nghệ
Giao thông
Quần vợt
(TTXVN/Vietnam+)
21/02/2018 14:58 GMT+7
Bản in
Kinh tế
Kinh doanh
Tài chính
Chính trị
Doanh nghiệp
Kinh doanh
Ôtô-Xe máy
Tài chính
Giao thông
Trung Đông

Cache-Control: no-cache

Connection: keep-alive


text:
© 2018 Yukicenter. Bảo lưu mọi quyền
Thiết kế website bởi VIETISO
Hỗ trợ 24/7
Địa chỉ: Tầng 5, Tòa nhà 101A, số 101A Phố Nguyễn Khuyến, Phường Văn Miếu, Quận Đống Đa, TP. Hà Nội
Hotline: (+ 84) 24 6280 0455. Email: info@yukicenter.com


text: Đăng tin

markdown: Đăng tin

X-Cache: ZIP

Server: Chotot

Accept-Ranges: bytes

X-Frame-Options: ALLOW-FROM http://tuoitre.vn

Vary: User-Agent

X-Powered-By: Chotot


text:
Đi cùng với sự phát triển của các ngành tiểu công – thương nghiệp, nhu cầu sử dụng xe ba gác chở hàng thuê quận Tân Bình cũng ngày một tăng theo, đồng thời, các cơ sở cung cấp dịch vụ cũng theo đó mà phát triển. Tuy nhiên, chỉ những dịch vụ hoàn hảo nhất mới có thể có được lòng tin của khách hàng.
BA GÁC THÀNH HƯNG – một trong những cái tên được nhắc đến nhiều nhất khi khách hàng có nhu cầu sử dụng xe ba gác chở hàng thuê quận Tân Bình. Khách hàng muốn chở hàng, chuyển đồ thuê chỉ cần 1 phút gọi điện, và tối đa 20 phút chờ đợi, chúng tôi sẽ có mặt phục vụ quý khách. Mọi chi tiết liên hệ 0906.777.223 hoặc 0945.777.223.
Quận Tân Bình trong những năm trở lại đây được sự quan tâm của các cấp chính quyền, hệ thống cơ sở hạ tầng được đầu tư phát triển mạnh mẽ. Đặc biệt là sự đầu tư về phát triển xây dựng, kinh tế và một số ngành thương mại dịch vụ.
Nhu cầu vận chuyển hàng hóa, đồ đạc ngày càng cao tại quận Tân Bình
Vì thế, nhu cầu chuyển hàng hóa, đồ đạc xung quanh địa bàn quận Tân Bình cũng như từ đây đi các quận khác và ngược lại ngày một tăng cao. Tuy nhiên, với địa thế còn nhiều kênh rạch, ao hồ, việc lựa chọn sử dụng các loại xe tải chuyển đồ cỡ lớn lại không mang lại hiệu quả như mong muốn.
Chính vì vậy, với sự cơ động, linh hoạt trong việc vận chuyển bất chấp mọi địa hình khó khăn, xe ba gác chở hàng thuê quận Tân Bình trở thành một trong những phương tiện được ưa chuộng nhất hiện nay.
Kinh nghiệm lái xe và phục vụ khách hàng 5 năm
Đội ngũ tài xế phủ khắp 24 quận huyện tại TPHCM, với hơn 30 đầu xe
Đã hoàn thành trên 10.000 chuyến hàng khắp TPHCM
Giảm ngay 10% nếu Quý khách hàng là sinh viên học sinh
Phục vụ 24/7, không ngại nắng mưa
Xe chạy được giờ cao điểm
GỌI NGAY ĐƯỜNG DÂY NÓNG : 0906.777.223 - 0945.777.223
Nhắc đến BA GÁC THÀNH HƯNG là nhắc đến cơ sở cung cấp dịch vụ vận chuyển hàng hóa thuê được tin cậy suốt 5 năm liền. Với dịch vụ vận chuyển hàng hóa, đồ đạc xuyên suốt địa bàn 24 quận huyện tại Thành phố Hồ Chí Minh, chúng tôi đã cung cấp cho hơn 10.000 đơn hàng vận chuyển chất lượng tới tận tay khách hàng.
BA GÁC THÀNH HƯNG – dịch vụ chở hàng thuê uy tin nhất
"Nhanh chóng trong vận chuyển – chuyên nghiệp trong dịch vụ - trung thực trong thông tin với khách hàng và sự nhiệt tình với công việc. Đó là tất cả những gì khách hàng nói đến khi nhắc tới BA GÁC THÀNH HƯNG."
CẦN VẬN CHUYỂN – CẦN BA GÁC THÀNH HƯNG
Với đồng lương ít ỏi nên làm việc gì cũng phải tính toán chi li. Vừa rồi chuyển nhà cũng vậy, để nhanh chóng tiện lợi và chi phí phù hợp nên tôi chọn XE BA GÁC THÀNH HƯNG
Gia đình tôi chuyển vào chung cư ở, khi vận chuyển hàng xuống tầng hầm, nếu không có xe ba gác thì thật sự quá đen luôn. Nhiều hộ không để ý thuê xe tải chuyển đồ vào thì rất tiếc là chiều cao của hầm xe tải không thể chui lọt, và thế là ... Cám ơn tài xế THÀNH HƯNG nhiều lắm

markdown:
**Đi cùng với sự phát triển của các ngành tiểu công – thương nghiệp, nhu cầu sử dụng xe ba gác chở hàng thuê quận Tân Bình cũng ngày một tăng theo, đồng thời, các cơ sở cung cấp dịch vụ cũng theo đó mà phát triển. Tuy nhiên, chỉ những dịch vụ hoàn hảo nhất mới có thể có được lòng tin của khách hàng. **
BA GÁC THÀNH HƯNG – một trong những cái tên được nhắc đến nhiều nhất khi khách hàng có nhu cầu sử dụng
**xe ba gác chở hàng thuê quận Tân Bình**. Khách hàng muốn chở hàng, chuyển đồ thuê chỉ cần 1 phút gọi điện, và tối đa 20 phút chờ đợi, chúng tôi sẽ có mặt phục vụ quý khách. Mọi chi tiết liên hệ **0906.777.223 hoặc 0945.777.223**.
Quận Tân Bình trong những năm trở lại đây được sự quan tâm của các cấp chính quyền, hệ thống cơ sở hạ tầng được đầu tư phát triển mạnh mẽ. Đặc biệt là sự đầu tư về phát triển xây dựng, kinh tế và một số ngành thương mại dịch vụ.
*Nhu cầu vận chuyển hàng hóa, đồ đạc ngày càng cao tại quận Tân Bình*
Vì thế, nhu cầu chuyển hàng hóa, đồ đạc xung quanh địa bàn quận Tân Bình cũng như từ đây đi các quận khác và ngược lại ngày một tăng cao. Tuy nhiên, với địa thế còn nhiều kênh rạch, ao hồ, việc lựa chọn sử dụng các loại xe tải chuyển đồ cỡ lớn lại không mang lại hiệu quả như mong muốn.
Chính vì vậy, với sự cơ động, linh hoạt trong việc vận chuyển bất chấp mọi địa hình khó khăn,
**xe ba gác chở hàng thuê quận Tân Bình** trở thành một trong những phương tiện được ưa chuộng nhất hiện nay.
Kinh nghiệm lái xe và phục vụ khách hàng
**5 năm**
Đội ngũ tài xế phủ khắp
**24 quận huyện** tại TPHCM, với hơn 30 đầu xe
Đã hoàn thành trên
**10.000 chuyến hàng** khắp TPHCM
Giảm ngay
**10%** nếu Quý khách hàng là sinh viên học sinh
Phục vụ 24/7, không ngại nắng mưa
Xe chạy được giờ cao điểm
GỌI NGAY ĐƯỜNG DÂY NÓNG :
**0906.777.223 - 0945.777.223**
Nhắc đến BA GÁC THÀNH HƯNG là nhắc đến cơ sở cung cấp
**dịch vụ vận chuyển hàng hóa thuê** được tin cậy suốt 5 năm liền. Với dịch vụ vận chuyển hàng hóa, đồ đạc xuyên suốt địa bàn 24 quận huyện tại Thành phố Hồ Chí Minh, chúng tôi đã cung cấp cho hơn 10.000 đơn hàng vận chuyển chất lượng tới tận tay khách hàng.
*BA GÁC THÀNH HƯNG – dịch vụ chở hàng thuê uy tin nhất* *"Nhanh chóng trong vận chuyển – chuyên nghiệp trong dịch vụ - trung thực trong thông tin với khách hàng và sự nhiệt tình với công việc. Đó là tất cả những gì khách hàng nói đến khi nhắc tới BA GÁC THÀNH HƯNG."*
CẦN VẬN CHUYỂN – CẦN BA GÁC THÀNH HƯNG
Với đồng lương ít ỏi nên làm việc gì cũng phải tính toán chi li. Vừa rồi chuyển nhà cũng vậy, để nhanh chóng tiện lợi và chi phí phù hợp nên tôi chọn XE BA GÁC THÀNH HƯNG
Gia đình tôi chuyển vào chung cư ở, khi vận chuyển hàng xuống tầng hầm, nếu không có xe ba gác thì thật sự quá đen luôn. Nhiều hộ không để ý thuê xe tải chuyển đồ vào thì rất tiếc là chiều cao của hầm xe tải không thể chui lọt, và thế là ... Cám ơn tài xế THÀNH HƯNG nhiều lắm