Menulis kueri dan statistik terkait berdasarkan beberapa tabel memang merupakan tugas yang rumit karena banyak informasi berdasarkan deskripsi berbasis karakter sulit untuk diekstraksi dan dibagikan, maka harus ditulis ulang ketika situasi ini diperlukan di tempat lain. Untuk menghindari situasi ini, SQL Artisan mereferensikan objek tampilan dan menjelaskan informasi kueri data melalui objek tampilan; salah satu manfaat terbesar dari objek tampilan adalah pewarisan, yang dapat diwarisi dari objek yang sudah ada (objek entitas atau objek tampilan ) untuk memperluas kueri baru.
Dalam aplikasi sebenarnya, Anda dapat membuat objek tampilan statistik dasar, dan kemudianmemperoleh
objek statistik tertentu sesuai dengan situasinya (seperti: mengelompokkan berdasarkan informasi yang berbeda, menampilkan informasi lapangan tersebut, dll.).
Tampilan dasar statistik jumlah penjualan pesanan Objek
///
/// Membuat kelas statistik jumlah penjualan pesanan sederhana
///
[TableMap("", TableType.View)]
kelas publik OrderStat:HFSoft.Data. ITableView
{
#region ITableView Member
public virtual Table GetTable()
{
// TODO: Tambahkan implementasi OrderV.GetTable,
kembalikan DBMapping.Orders.INNER(DBMapping.Employees, DBMapping.Employees.EmployeeID)& DBMapping.Orders.INNER(DBMapping.OrderDetails, DBMapping.Orders.OrderID )& DBMapping.OrderDetails.INNER(DBMapping.Products, DBMapping.Products.ProductID);
}
private Double mTotalize
; .Sum)]
public Double Totalize
{
get
{
return mTotalize;
}
set
{
mTotalize = value;
}
}
#endregion
}
Implementasi warisan statistik grup oleh karyawan
///
/// Statistik grup oleh karyawan
/// ringkasan>
[TableMap ("", TableType.View)]
kelas publik EmployeeTotal:OrderStat
{
private
int
mEmployeeID;
[ViewColumn("Employees.EmployeeID"
)]
public int EmployeeID
{
dapatkan
{
return
mEmployeeID
;
}
private string mEmployeeName ;
[ViewColumn("FirstName+LastName")]
public
string
EmployeeName
{
get
{
return
mEmployeeName
}
set
{
mEmployeeName
=
value
;
Kelompokkan statistik berdasarkan produk
///
[TableMap("", TableType.View)]
public class ProductTotal : OrderStat
{
private int mProductID;
[ViewColumn("Products.ProductID")]
public int ProductID
{
get
{
return mProductID; ;
}
set
{
mProductID=
value;
}
}
private string mProductName;
[ViewColumn("ProductName")]
public
string ProductName
{
get
{
return mProductName;
}
set
{
mProductName
= value
;
hanya perlu memuat Jenis deskripsi yang berbeda dapat mewujudkan permintaan data dan fungsi statistik dengan kebutuhan yang berbeda.
Ekspresi exp = Ekspresi baru();
exp &= new HFSoft.Data.Mapping.NumberField("tahun(" + DBMapping.Orders.OrderDate.Name + ")", null) ==
Daftar
Daftar
Asosiasi Memuat Bidang Informasi Tabel Terkait
Ketika diperlukan untuk memuat bidang informasi tabel terkait, Anda dapat membuat objek tampilan yang diwarisi dari objek entitas, namun Anda juga dapat membuat objek tampilan baru berdasarkan implementasinya;
Objek tampilan informasi produk
///
/// Objek tampilan informasi produk
///
[TableMap("",TableType.View)]
public class ProductsView:Products,HFSoft.Data.ITableView
{
#region ITableView anggota
Tabel virtual publik GetTable()
{
kembalikan DBMapping.Products.INNER(DBMapping.Categories, DBMapping.Categories.CategoryID)
& DBMapping.Products.INNER(DBMapping.Suppliers, DBMapping.Suppliers.SupplierID
}
#endregion
private string mCategoryName;
[ViewColumn("CategoryName")]
string publik Nama Kategori
{
dapatkan
{
return mCategoryName;
}
set
{
mCategoryName = nilai
}
}
string pribadi mCompanyName;
[ViewColumn("CompanyName")]
string publik Nama Perusahaan
{
dapatkan
{
kembalikan mNamaPerusahaan;
}
setel
{
mNamaPerusahaan
=
nilai
;
Ekspresi exp = new Expression();
exp &= DBMapping.Suppliers.City == "GuangZhou";
exp.List
Untuk memfasilitasi tampilan, objek tampilan produk memperkenalkan kategori produk dan informasi pemasok.
Di atas adalah rutinitas sederhana untuk memperkenalkan fungsi statistik multi-kueri SQL Artisan. Komponen ini mencoba mewujudkan semua keluaran data dalam bentuk objek entitas (terutama untuk menyederhanakan pengoperasian akses); semua pernyataan SQL. Mengimplementasikan fungsi yang paling umum digunakan.
http://www.cnblogs.com/henryfan/archive/2006/10/30/544540.html