Archive for the ‘LINQ’ Category
-
Hello, LINQ(VB.NET) World!
Posted on 9月 1st, 2012 by cx20
LINQ(VB.NET)
LINQ(Language Integrated Query : 統合言語クエリ)は、.NET 言語から DBMS や XML にアクセスする為の汎用クエリ機能である。
LINQ プロバイダとして、以下のようなものがある。LINQ プロバイダ 説明 LINQ to SQL SQL Server LINQ to XML XML ドキュメント LINQ to Dataset ADO.NET データセット LINQ to Objects .NET コレクション、ファイル、文字列など ソースコード(VB.NET + LINQ to SQL)
''' -- <事前準備> ''' -- 1. テーブル作成 ''' CREATE TABLE HELLO ''' ( ''' ID INT NOT NULL, ''' MESSAGE VARCHAR(50) NULL, ''' PRIMARY KEY (ID) ''' ); ''' -- 2. データ投入 ''' INSERT HELLO ( ID, MESSAGE ) VALUES ( 1, 'Hello, LINQ World' ); ''' -- 3. データ表示 ''' SELECT * FROM HELLO; ''' -- ------------------ ''' ID MESSAGE ''' -- ------------------ ''' 1 Hello, LINQ World! ''' -- ------------------ Imports System Imports System.Linq Imports System.Data.Linq Imports System.Data.Linq.Mapping Public Class HelloDataContext Inherits DataContext Public Sub New( ByVal connectionString As String ) MyBase.New(connectionString) End Sub Public Hello As Table( Of HelloTable ) End Class <Table(Name := "Hello")> _ Public Class HelloTable <Column(IsPrimaryKey := True)> _ Public Id As Integer <Column()> _ Public Message As String End Class Class Hello Shared Sub Main() Dim conStr As String = "SERVER=(local);" _ & "DATABASE=Hello;" _ & "UID=sa;" _ & "PWD=P@ssW0rd" Dim db = New HelloDataContext( conStr ) Dim q = from h In db.Hello Select h For Each h In q Console.WriteLine(h.Message) Next End Sub End Class
コンパイル方法(VB.NET + LINQ to SQL)
C:¥> vbc Hello.vb
実行結果
Hello, LINQ World!
-
Hello, LINQ World!
Posted on 4月 8th, 2012 by cx20
LINQ
LINQ(Language Integrated Query : 統合言語クエリ)は、.NET 言語から DBMS や XML にアクセスする為の汎用クエリ機能である。
LINQ プロバイダとして、以下のようなものがある。LINQ プロバイダ 説明 LINQ to SQL SQL Server LINQ to XML XML ドキュメント LINQ to Dataset ADO.NET データセット LINQ to Objects .NET コレクション、ファイル、文字列など ソースコード(C# + LINQ to Objects)
using System; using System.Linq; using System.Collections.Generic; class Record { public string Message; public Record(string message) { this.Message = message; } } class Hello { static void Main(string[] args) { Record[] records = new Record[] { new Record("Hello, LINQ World!") }; IEnumerable<Record> query = from n in records select n; foreach (Record r in query) { Console.WriteLine(r.Message); } } }
ソースコード(C# + LINQ to SQL)
/** -- <事前準備> -- 1. テーブル作成 CREATE TABLE HELLO ( ID INT NOT NULL, MESSAGE VARCHAR(50) NULL, PRIMARY KEY (ID) ); -- 2. データ投入 INSERT HELLO ( ID, MESSAGE ) VALUES ( 1, 'Hello, LINQ World' ); -- 3. データ表示 SELECT * FROM HELLO; -- ------------------ ID MESSAGE -- ------------------ 1 Hello, LINQ World! -- ------------------ */ using System; using System.Linq; using System.Data.Linq; using System.Data.Linq.Mapping; public class HelloDataContext : DataContext { public HelloDataContext(string connectionString) : base(connectionString) { } public Table<HelloTable> Hello; } [Table(Name = "Hello")] public class HelloTable { [Column(IsPrimaryKey = true)] public int Id; [Column] public string Message; } class Hello { static void Main(string[] args) { string conStr = "SERVER=(local);" + "DATABASE=Hello;" + "UID=sa;" + "PWD=P@ssW0rd"; var db = new HelloDataContext( conStr ); var q = from h in db.Hello select h; foreach (var h in q) { Console.WriteLine(h.Message); } } }
ソースコード(VB.NET + LINQ to SQL)
''' -- <事前準備> ''' -- 1. テーブル作成 ''' CREATE TABLE HELLO ''' ( ''' ID INT NOT NULL, ''' MESSAGE VARCHAR(50) NULL, ''' PRIMARY KEY (ID) ''' ); ''' -- 2. データ投入 ''' INSERT HELLO ( ID, MESSAGE ) VALUES ( 1, 'Hello, LINQ World' ); ''' -- 3. データ表示 ''' SELECT * FROM HELLO; ''' -- ------------------ ''' ID MESSAGE ''' -- ------------------ ''' 1 Hello, LINQ World! ''' -- ------------------ Imports System Imports System.Linq Imports System.Data.Linq Imports System.Data.Linq.Mapping Public Class HelloDataContext Inherits DataContext Public Sub New( ByVal connectionString As String ) MyBase.New(connectionString) End Sub Public Hello As Table( Of HelloTable ) End Class <Table(Name := "Hello")> _ Public Class HelloTable <Column(IsPrimaryKey := True)> _ Public Id As Integer <Column()> _ Public Message As String End Class Class Hello Shared Sub Main() Dim conStr As String = "SERVER=(local);" _ & "DATABASE=Hello;" _ & "UID=sa;" _ & "PWD=P@ssW0rd" Dim db = New HelloDataContext( conStr ) Dim q = from h In db.Hello Select h For Each h In q Console.WriteLine(h.Message) Next End Sub End Class
コンパイル方法(C# + LINQ to Objects)
C:¥> csc Hello.cs
コンパイル方法(C# + LINQ to SQL)
C:¥> csc Hello.cs
コンパイル方法(VB.NET + LINQ to SQL)
C:¥> vbc Hello.vb
実行結果
Hello, LINQ World!