تعد كتابة الاستعلامات والإحصائيات ذات الصلة بناءً على عدة جداول مهمة مرهقة بالفعل، نظرًا لصعوبة استخراج الكثير من المعلومات المستندة إلى الأوصاف المستندة إلى الأحرف ومشاركتها، يجب إعادة كتابتها عند الحاجة إلى هذا الموقف في مكان آخر. لتجنب هذا الموقف، يشير SQL Artisan إلى كائن العرض ويصف معلومات استعلام البيانات من خلال كائن العرض. أحد أكبر فوائد كائن العرض هو الوراثة، والتي يمكن توريثها من كائن موجود (كائن كيان أو كائن عرض)؛ ) لتوسيع الوصف الوظيفي. في التطبيق الفعلي، يمكنك إنشاء كائن عرض إحصائي أساسي، ثم استخلاص كائنات إحصائية محددة وفقًا للموقف (مثل: التجميع وفقًا لمعلومات مختلفة، وعرض تلك المعلومات الميدانية، وما إلى ذلك).
وفيما يلي بعض التعليمات البرمجية الروتينية البسيطة:
كائن عرض إحصائي أساسي لمبلغ مبيعات الطلب
///
/// إنشاء فئة إحصاءات بسيطة لمبلغ مبيعات الطلب
///
[TableMap("", TableType.View)]
public class OrderStat:HFSoft.Data. ITableView
{
#region ITableView Member
public virtual Table GetTable()
{
// TODO: إضافة تنفيذ OrderV.GetTable
return DBMapping.Orders.INNER(DBMapping.Employees, DBMapping.Employees.EmployeeID)& DBMapping.Orders.INNER(DBMapping.OrderDetails, DBMapping.Orders.OrderID )& DBMapping.OrderDetails.INNER(DBMapping.Products, DBMapping.Products.ProductID)
}
public Double mTotalize
; .Sum)]
public Double Totalize
{
get
{
return mTotalize
}
set
{
mTotalize = value;
}
}
#endregion
}
تنفيذ إحصائيات المجموعة بواسطة الموظفين
///
/// إحصائيات المجموعة بواسطة الموظفين
/// ملخص>
[TableMap (""، TableType.View)]
public class memberTotal:OrderStat
{
public int mEmployeeID;
[ViewColumn("Employees.EmployeeID")]
public int معرف الموظف
{
get
{
return mEmployeeID
}
set
{
mEmployeeID = value
}
}
mEmployeeName
;
تجميع الإحصائيات حسب المنتج
///
[
TableMap(""، TableType.View)]
public
class
ProductTotal
: OrderStat
{
public
intmProductID
;
}
set
{
mProductID
=
value
;
}
}
سلسلة
خاصة
mProductName
;
تحتاج فقط إلى تحميل أنواع الوصف المختلفة التي يمكنها تحقيق استعلام البيانات والوظائف الإحصائية باحتياجات مختلفة.
Expression exp = new Expression();
exp &= new HFSoft.Data.Mapping.NumberField("year("
+ DBMapping.OrderDate.Name + ")", null) == 1997;
.List
List
اقتران تحميل حقول معلومات الجدول ذات الصلة
عندما يكون من الضروري تحميل حقول معلومات الجدول ذات الصلة، يمكنك إنشاء كائن عرض موروث من كائن الكيان، ومع ذلك، يمكنك أيضًا إنشاء كائن عرض جديد تمامًا استنادًا إلى التنفيذ.
كائن عرض معلومات المنتج
///
/// كائن عرض معلومات المنتج
///
[TableMap(""،TableType.View)]
public class ProductsView:Products,HFSoft.Data.ITableView
{
#region ITableView عضو
جدول افتراضي عام GetTable()
{
return DBMapping.Products.INNER(DBMapping.Categories, DBMapping.Categories.CategoryID)
& DBMapping.Products.INNER(DBMapping.Suppliers, DBMapping.Suppliers.SupplierID })
;
#endregion
سلسلة خاصة mCategoryName
[ViewColumn("CategoryName")]
سلسلة عامة CategoryName
{
get
{
return mCategoryName
}
set
{
mCategoryName = value
}
}
سلسلة خاصة mCompanyName
(
"
CompanyName
")
]
return mCompanyName
}
set
{
mCompanyName = value
}
}
}
Expression exp = new Expression();
exp &= DBMapping.Suppliers.City == "GuangZhou";
exp.List
من أجل تسهيل العرض، يقدم كائن عرض المنتج فئة المنتج ومعلومات المورد.
ما ورد أعلاه عبارة عن روتين بسيط لتقديم وظيفة إحصائيات الاستعلامات المتعددة لـ SQL Artisan. يحاول المكون تجسيد جميع البيانات الناتجة في شكل كائنات كيان (بشكل أساسي لتبسيط إمكانية تشغيل الوصول، ومع ذلك، لا يدعم SQL Artisan وظائف تم تنفيذ كافة عبارات SQL الوظائف الأكثر استخدامًا.
http://www.cnblogs.com/henryfan/archive/2006/10/30/544540.html