Exemplos de Queries Linq
por Mauricio Junior em 1/1/2011 0
|
|
|
Exemplos de Queries utilizando o Linq

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
< head runat="server">
<title>Untitled Page</title>
</ head>
< body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ListBox ID="lstOption" runat="server" AutoPostBack="True"
onselectedindexchanged="lstOption_SelectedIndexChanged" Height="165px"
Width="351px">
<asp:ListItem Value="Hello">Hello Linq</asp:ListItem>
<asp:ListItem Value="Products">Query Products</asp:ListItem>
<asp:ListItem Value="Combine">Combine Where() and Select() for common queries</asp:ListItem>
<asp:ListItem Value="Where">Where</asp:ListItem>
<asp:ListItem Value="XML">XML</asp:ListItem>
</asp:ListBox>
<br />
<br />
<asp:Label ID="lblLinq" runat="server"></asp:Label>
<br />
<br />
<asp:Label ID="lblQuery" runat="server"></asp:Label>
<br />
<br />
<asp:GridView ID="gvwResults" runat="server">
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</ body>
</ html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
NorthwindDataContext db = new NorthwindDataContext();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void lstOption_SelectedIndexChanged(object sender, EventArgs e)
{
lblQuery.Text = String.Empty;
lblLinq.Text = String.Empty;
SelectLinq();
}
private void SelectLinq()
{
string strOption = lstOption.SelectedValue;
switch (strOption)
{
case "Hello":
Hello();
break;
case "Products":
Products();
break;
case "Combine":
Combine();
break;
case "Where":
Where();
break;
case "XML":
XML();
break;
default:
break;
}
}
private void Hello()
{
string[] greetings = { "hello world", "hello LINQ", "hello ASPNETi" };
//Coleção
IEnumerable<string> q = from s in greetings
where s.EndsWith("LINQ")
select s;
lblLinq.Text = "string[] greetings = { \"hello world\", \"hello LINQ\", \"hello ASPNETi\" };";
lblQuery.Text = "IEnumerable<string> q = from s in greetings <br> where s.EndsWith(\"LINQ\") <br> select s";
gvwResults.DataSource = q;
gvwResults.DataBind();
}
private void Combine()
{
// Combine Where() and Select() for common queries
IQueryable<string> q = db.Customers.Where(c => c.City == "London").Select(c => c.ContactName);
lblLinq.Text = q.ToString();
string strLinq = "Queryable<string> q = db.Customers.Where(c => c.City == \"London\").Select(c => c.ContactName);";
lblQuery.Text = strLinq;
gvwResults.DataSource = q;
gvwResults.DataBind();
}
private void Products()
{
IQueryable<Product> q = from p in db.Products
where p.Category.CategoryName == "Beverages"
select p;
lblLinq.Text = q.ToString();
string strLinq = "IQueryable<Product> q = from p in db.Products <br> where p.Category.CategoryName == \"Beverages\" <br>select p;";
lblQuery.Text = strLinq;
gvwResults.DataSource = q;
gvwResults.DataBind();
}
private void Where()
{
IQueryable<Product> q = from p in db.Products
where p.UnitsInStock == 0
select p;
lblLinq.Text = q.ToString();
string strLinq = "IQueryable<Product> q = from p in db.Products where p.UnitsInStock == 0 select p;";
lblQuery.Text = strLinq;
gvwResults.DataSource = q;
gvwResults.DataBind();
}
private void XML()
{
XElement books = XElement.Parse(
@"<books>
<book>
<title>Pro LINQ: Language Integrated Query in C# 2008</title>
<author>Joe Rattz</author>
</book>
<book>
<title>Pro WF: Windows Workflow in .NET 3.0</title>
<author>Bruce Bukovics</author>
</book>
<book>
<title>Pro C# 2005 and the .NET 2.0 Platform, Third Edition</title>
<author>Andrew Troelsen</author>
</book>
</books>" );
var q =
from book in books.Elements("book")
where (string)book.Element("author") == "Joe Rattz"
select new { Title = book.Element("title").Value, Author = book.Element("author").Value };
lblQuery.Text = "var q = <br> from book in books.Elements(\"book\") <br> where (string)book.Element(\"author\") == \"Joe Rattz\" <br> select new { Title = book.Element(\"title\").Value, Author = book.Element(\"author\").Value };";
gvwResults.DataSource = q;
gvwResults.DataBind();
}
}
Fabio Galante Mans
fabio@netitc.com.br - Hospedagem para desenvolvedores
Baixar fonte
|
|
voltar
comente
subir
|
|