2013-03-01 4 views
-3

Я пишу приложение ASP.NET MVC 3. Я пишу рамки сущности и LINQ , но у меня есть вопрос о Linq заявлениепреобразовать sql-оператор в linq;

  1. , если у вас есть:

    select a, (select d from tabled where id = '12 ') as c from tableA inner join TableB on tablea.id = tableb.id 
    

    затем переключиться на LINQ, как (с помощью контроллера и назначить с ViewBag. ул = ...) (как может просматривать, вы можете отобразить и с)

  2. и если его заявление, например: Product product = db.Product.Find (id) то как вам определить, является ли продукт пустым или нет?

ответ

0

вар а = от р в TableA присоединиться к д в TableB на p.id равна q.id выбрать новый {p.a, из г в, где представлен r.id == 12 выберите r.d} .ToList();

это запрос LINQ для оператора. Также

вы можете использовать

Product product = db.Product.Find (id); 
if (product == null) return "Emplty"; 
+0

это работает для u ... pls делают это как ответ, если он помогает u. –

+0

спасибо , и если я передам его 1 ViewBag.str = из p в tableA соедините q в TableB на p.id равно q.id выберите new {pa, from r print tabled, где r.id == 12 select rd} , К списку(); Как вы можете отделить каждое поле (pa, rd) от этого ViewBag.str! –

+0

нет, его невозможно добавить в сумку для просмотра вместо u, чтобы вернуть этот результат запроса через представление возврата (ans); то u cn легко взять свойства внутри вида –

0

вы должны Follo следующие шаги; 1) создать класс возвращаемого значения в модели как:

public class ClassResult 
{ 
    public int a1 { get; set; } 
    public int b1 { get; set; } 
} 

затем на контроллере

написать запрос следующим образом:

public ActionResult Index() 
    { 
     List<TableAClass> ListA = new List<TableAClass>(); 
     List<TableBClass> ListB = new List<TableBClass>(); 
     List<TableCClass> ListC = new List<TableCClass>(); 

     List<ClassResult> res = new List<ClassResult>(); 

     res = (from p1 in ListA join p2 in ListB on p1.a1 equals p2.b1 select new ClassResult { a1=p1.a1 ,b1=p2.b1 }).ToList(); 

     return View(res); 
    } 

3) на представлении,

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.ClassResult>" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Index1</title> 
</head> 
<body> 
    <fieldset> 
     <legend>Fields</legend> 

     <div class="display-label">a1</div> 
     <div class="display-field"><%: Model.a1 %></div> 

     <div class="display-label">b1</div> 
     <div class="display-field"><%: Model.b1 %></div> 

    </fieldset> 


</body> 
</html> 
Смежные вопросы