Entity Fraamewark(u)ALinq
15547 ワード
原文のアドレスhttp://www.alinq.org/
ALinqとは何ですか
ALinqは企業レベルのdatabase LINQ providerで、安定、高効率、使いやすいです。ALinqを使ってLinq To SQLと同じです。もしLinq To SQLに詳しいなら、すぐにALinqを習得できます。
ALinq入門
ALinqライブラリ参照
1,ALinqライブラリのパスは/bin/です。
2,Linq to Accessデータベースは、ALinq.dll、ALinq.Access.dllとSystem.Data.dllを参照する必要があります。
3,Linq to SQLiteデータベースは、ALinq.dll、ALinq.SQLite.dllとSystem.Data.SQLite.dllを参照する必要があります。
4,その他のデータベース。Oracleに接続するには、ALinq.Oracle.dllまたはALinq.Oracle.Odp.dlを参照する必要があります。ALinq.Oracle.dllのOracle Provider類は、System.Data.OracleClient名前空間のOracleConnection類を使ってOracleデータベースに接続します。ALinq.Oracle.Odp.dlでOracle Providerは、Oracleを使用してOracle.DataAccessの名前空間を提供するConnection接続Oracle。
Data Cotextを作成します
Access Data Contect
{啝13
font-size:small;&唵13;
カラー:black;
font-family:consosolas、「Courier New」、courier、monoospace;
background-カラー:&菗菗13;
//white-space:pre;*/&噫13;
}&{13;
.csharp code pre{margin:0 em;}&萶13;
.csharrpcode.rem{color=0000 ff}&菷13;
.csharpcode.kwrd{color=blue 0000 ff}&菗13;
.csharpcode.str{color=blue 006080}&菷13;
.csharpcode.op{color=0000 c 0}&菗13;
.csharpcode.preproc{color=0000 cc 6633;}&菷13;
.csharpcode.asp{background-カラー}と菗13;
.csharrpcode.{啱800000;}&唵13;
.csharpcode.atr{color=0000 ff}&菗13;
.csharpcode.alt&啝13;
{啝13
background-色:菗f 4 f 4;&萶13;
width:100%&菗13;
margin:0 em;
}&{13;
.csharpcode.lnum{color=blue 6060}&菷13;
SQLiteData Contect
MySql Data Contect
OracleData Contect
Sql Data Contect
MSSQL 2000、MSSQL 2005 DataContect初期化。
マッピングデータベース
ALinqマッピングはDinqと同じである。
AttributeMapping
Xml Mapping
クエリーデータベース
ALinqは何のために使いますか
1,Linq to SQLのすべての特色を実現します。Linq toSQLの中のすべての特色はALinqの中で見つけられます。
2,Linq to SQLと完全に互換性があります。ALinqのAPIはLinq to SQLと同じで、あなたが知っているLinqto SQL知識は直接ALinqに応用できます。
3,ほとんどの商業データベースをサポートしています。例えば、Access、MSSQL、Oracle、SQLite、MySQL、Firebird、DB 2、PostgreSQLのように、これからもっと多くのデータベースをサポートします。
4,Monoの下で運転できます。
5,強力なORDesignerを提供します。ORDesignerはALinqのエンティティ可視化装置である。これはVSL 2008とVSL 2010に集積されており、より速く、より簡単に豊富な領域駆動モデルを作成することができます。ORDesignerの主な特徴は、Access、SQLite、MySql、Oracle、SQL 2000、SQL 2005などの複数のデータベースをサポートすることである。データベースからエンティティをドラッグして作成することをサポートします。Xmlマッピングファイルを作成して、データベースアプリケーションから独立して作成しやすいです。ORDesignerリソース管理では、クラスをダブルクリックして図表のエンティティモデルにナビゲーションし、より簡単に図表の中にエンティティモデルを見つけます。エンティティ属性の属性をカスタマイズして、ビュー属性の順序を調整します。T 4テキストのテンプレートをサポートします。ユーザー定義で生成できるコード。グラフビュー(Diagram View)オブジェクトモデルを可視化するのは難しい場合があります。データモデルが大きい場合、クラス間の関係を見るのは難しいです。したがって、グラフビューを作成するのは良い解決方法です。データクラスをデータベースに更新します。データクラスを変更すると、メンバーを追加すると、グラフから直接マッピングテーブルを更新することができます。http://www.alinq.org/ORDesigner.aspxを参照してください。
ALinqとは何ですか
ALinqは企業レベルのdatabase LINQ providerで、安定、高効率、使いやすいです。ALinqを使ってLinq To SQLと同じです。もしLinq To SQLに詳しいなら、すぐにALinqを習得できます。
ALinq入門
ALinqライブラリ参照
1,ALinqライブラリのパスは
2,Linq to Accessデータベースは、ALinq.dll、ALinq.Access.dllとSystem.Data.dllを参照する必要があります。
3,Linq to SQLiteデータベースは、ALinq.dll、ALinq.SQLite.dllとSystem.Data.SQLite.dllを参照する必要があります。
4,その他のデータベース。Oracleに接続するには、ALinq.Oracle.dllまたはALinq.Oracle.Odp.dlを参照する必要があります。ALinq.Oracle.dllのOracle Provider類は、System.Data.OracleClient名前空間のOracleConnection類を使ってOracleデータベースに接続します。ALinq.Oracle.Odp.dlでOracle Providerは、Oracleを使用してOracle.DataAccessの名前空間を提供するConnection接続Oracle。
Data Cotextを作成します
Access Data Contect
//Use connection string initialize,and specify the sql provider.
var context = new ALinq.DataContext("C:/Northwind.mdb",
typeof(ALinq.Access.AccessDbProvider));
//or use file name initialize the datacontext,
//the datacontext will specify the sql provider by file extension name.
context = new ALinq.DataContext("C:/Northwind.mdb");
//Use connection initialize.
var builder = new OleDbConnectionStringBuilder
{
DataSource = "C:/Northwind.mdb",
Provider = "Microsoft.Jet.OLEDB.4.0"
};
var conn = new OleDbConnection(builder.ConnectionString);
context = new ALinq.DataContext(conn, typeof(ALinq.Access.AccessDbProvider));
.csharpcode.csharpcode pre&唴13;{啝13
font-size:small;&唵13;
カラー:black;
font-family:consosolas、「Courier New」、courier、monoospace;
background-カラー:&菗菗13;
//white-space:pre;*/&噫13;
}&{13;
.csharp code pre{margin:0 em;}&萶13;
.csharrpcode.rem{color=0000 ff}&菷13;
.csharpcode.kwrd{color=blue 0000 ff}&菗13;
.csharpcode.str{color=blue 006080}&菷13;
.csharpcode.op{color=0000 c 0}&菗13;
.csharpcode.preproc{color=0000 cc 6633;}&菷13;
.csharpcode.asp{background-カラー}と菗13;
.csharrpcode.{啱800000;}&唵13;
.csharpcode.atr{color=0000 ff}&菗13;
.csharpcode.alt&啝13;
{啝13
background-色:菗f 4 f 4;&萶13;
width:100%&菗13;
margin:0 em;
}&{13;
.csharpcode.lnum{color=blue 6060}&菷13;
SQLiteData Contect
//Use connection string initialize.
var context = new ALinq.DataContext("C:/Northwind.db",
typeof(ALinq.SQLite.SQLiteProvider));
//or use file name initialize the datacontext,
//the datacontext will specify the sql provider by file extension name.
context = new ALinq.DataContext("C:/Northwind.db");
//Use connection initialize.
var builder = new SQLiteConnectionStringBuilder
{
DataSource = "C:/Northwind.db"
};
var connection = new SQLiteConnection(builder.ToString());
context = new ALinq.DataContext(connection,
typeof(ALinq.SQLite.SQLiteProvider));
MySql Data Contect
var builder = new MySqlConnectionStringBuilder()
{
Server = "localhost",
Port = 3306,
UserID = "root",
Password = "test",
Database = "Northwind"
};
var conn = new MySqlConnection(builder.ToString());
var context = new ALinq.DataContext(conn,
typeof(ALinq.MySQL.MySqlProvider));
OracleData Contect
var strcon = "Data Source=localhost;Persist Security Info=True;User ID=Northwind;Password=test";
//Use connection string initialize,and specify the sql provider.
var context = new ALinq.DataContext(strcon, typeof(ALinq.Oracle.OracleProvider));
//or
context = new ALinq.DataContext(strcon, typeof(ALinq.Oracle.Odp.OracleProvider));
//Use connection string initialize,and specify the sql provider.
context = new ALinq.DataContext(new System.Data.OracleClient.OracleConnection(strcon),
typeof(ALinq.Oracle.OracleProvider));
//or
context = new ALinq.DataContext(new Oracle.DataAccess.Client.OracleConnection(strcon),
typeof(ALinq.Oracle.Odp.OracleProvider));
Sql Data Contect
MSSQL 2000、MSSQL 2005 DataContect初期化。
//MSSQL 2000
var conn = @"Data Source=NOTEBOOK;Initial Catalog=Northwind1;
Integrated Security=True";
var db = new ALinq.DataContext(new SqlConnection(conn),
typeof(ALinq.SqlClient.Sql2000Provider));
Console.WriteLine(db.DatabaseExists());
//MSSQL 2005
conn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Northwind.mdf;
Integrated Security=True;Connect Timeout=30;User Instance=True";
db = new ALinq.DataContext(new SqlConnection(conn),
typeof(ALinq.SqlClient.Sql2005Provider));
Console.WriteLine(db.DatabaseExists());
マッピングデータベース
ALinqマッピングはDinqと同じである。
AttributeMapping
[ALinq.Mapping.Table(Name=”Customers”)]
public class Customer
{
[ALinq.Mapping.Column]
public string CustomerID;
[ALinq.Mapping.Column]
public string CompanyName;
[ALinq.Mapping.Column]
public string ContactName;
[ALinq.Mapping.Column]
public string City;
}
Xml Mapping
<?xml version="1.0" encoding="utf-8"?>
<Database Name="NorthwindDatabase" Provider="ALinq.Access.AccessDbProvider"
xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007">
<Table Name="Customers" Member="Customers">
<Type Name="ALinqDocument.Customer">
<Column Member="CustomerID"/>
<Column Member="CompanyName"/>
<Column Member="ContactName"/>
<Column Member="ContactTitle"/>
<Column Member="Address"/>
<Column Member="City"/>
<Column Member="Region"/>
<Column Member="PostalCode"/>
<Column Member="Country"/>
<Column Member="Phone"/>
<Column Member="Fax"/>
</Type>
</Table>
</Database>
クエリーデータベース
var db = new ALinq.DataContext(@"C:/Northwind.mdb");
var companyNameQuery = from cust in db.GetTable<Customer>()
where cust.City == "London"
select cust.CompanyName;
foreach (var customer in companyNameQuery)
Console.WriteLine(customer);
//use XmlMappingSource
var xmlMapping = ALinq.Mapping.XmlMappingSource.FromUrl("C:/Northwind.map");
db = new ALinq.DataContext(@"C:/Northwind.mdb", xmlMapping);
companyNameQuery = from cust in db.GetTable<Customer>()
where cust.City == "London"
select cust.CompanyName;
foreach (var customer in companyNameQuery)
Console.WriteLine(customer);
ALinqは何のために使いますか
1,Linq to SQLのすべての特色を実現します。Linq toSQLの中のすべての特色はALinqの中で見つけられます。
2,Linq to SQLと完全に互換性があります。ALinqのAPIはLinq to SQLと同じで、あなたが知っているLinqto SQL知識は直接ALinqに応用できます。
3,ほとんどの商業データベースをサポートしています。例えば、Access、MSSQL、Oracle、SQLite、MySQL、Firebird、DB 2、PostgreSQLのように、これからもっと多くのデータベースをサポートします。
4,Monoの下で運転できます。
5,強力なORDesignerを提供します。ORDesignerはALinqのエンティティ可視化装置である。これはVSL 2008とVSL 2010に集積されており、より速く、より簡単に豊富な領域駆動モデルを作成することができます。ORDesignerの主な特徴は、Access、SQLite、MySql、Oracle、SQL 2000、SQL 2005などの複数のデータベースをサポートすることである。データベースからエンティティをドラッグして作成することをサポートします。Xmlマッピングファイルを作成して、データベースアプリケーションから独立して作成しやすいです。ORDesignerリソース管理では、クラスをダブルクリックして図表のエンティティモデルにナビゲーションし、より簡単に図表の中にエンティティモデルを見つけます。エンティティ属性の属性をカスタマイズして、ビュー属性の順序を調整します。T 4テキストのテンプレートをサポートします。ユーザー定義で生成できるコード。グラフビュー(Diagram View)オブジェクトモデルを可視化するのは難しい場合があります。データモデルが大きい場合、クラス間の関係を見るのは難しいです。したがって、グラフビューを作成するのは良い解決方法です。データクラスをデータベースに更新します。データクラスを変更すると、メンバーを追加すると、グラフから直接マッピングテーブルを更新することができます。http://www.alinq.org/ORDesigner.aspxを参照してください。