2013-06-03 23 views
5

Tôi đang học MVC4 và tôi có ý tưởng về Khuôn khổ thực thể. Nhưng tôi tự hỏi làm thế nào bạn làm các báo cáo sql phong cách cũ trong MVC 4.cách sử dụng sql kiểu cũ trong mvc4

phép nói rằng tôi có hành động này với mã EF

public ActionResult Index(){ 
    var model = from r in restaruants 
       select r; 
    return View(model); 
} 

Có thể làm một sql phong cách cũ thay vì EF trong chỉ mục chức năng?

gì tôi muốn nói với sql phong cách cũ là như "select * from nhà hàng"

public ActionResult Index(){ 
    /* Can I have something like this? */ 
    var model = Return_Model_Somehow("select * from restaurants"); 

    return View(model); 
} 
+0

SQL kiểu cũ có nghĩa là ADO.NET? –

+0

như "chọn * từ nhà hàng" –

+0

để bạn có nghĩa là LINQ to sql? –

Trả lời

12

Bạn có thể thực hiện sql liệu với SqlQuery phương pháp:

var model = context.Database.SqlQuery<Restauraunt>("SELECT * FROM Restaruants") 
        .ToList(); 
return View(model); 

Đây là MSDN bài viết: Raw SQL Queries.

+1

cảm ơn bạn rất nhiều. Tôi sẽ đánh dấu nó ngay sau khi hệ thống sẽ cho phép tôi –

+1

@ayilmaz chào đón) nhưng tại sao thực sự bạn cần điều này, nếu bạn có toàn bộ sức mạnh của Entity Framework? –

+0

Tôi nghĩ câu hỏi của tôi rất rõ ràng và đó là một câu hỏi rất phổ biến đối với những người mới học –

4

MVC (Tất cả các phiên bản) không giả/buộc bất kỳ phương pháp truy cập dữ liệu, nếu bạn có ý nghĩa 'LINQ' thì:

string q = "SELECT *FROM Table1"; 
IEnumerable<Entities.Table1> res = context.ExecuteQuery<Entities.Table1>(q); 

Bây giờ bạn có kết quả như một bộ sưu tập đầy đủ, hãy sử dụng nó như bạn muốn.

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan