أدوات لتعيين كائنات الأعمال (كائنات DTO) من الكيانات في asp.net بعثة التحقق المشتركة؟
-
20-09-2019 - |
سؤال
وهناك أي وسيلة أو أداة مساعدة (مخطط التجميع) إلى كائنات بناء الأعمال التجارية من الكيانات (والتي يتم الحصول عليها من DB استخدام LINQ -> SQL، إطار كيان أو أيا كان ..)
في حالة عدم وجود واحد، يمكن لأي شخص أن يقترح أفضل طريقة التي يمكن إنجازها بدلا يمكن نسخ لصق خصائص (ما أفعله الآن) من الطبقات الكيان.
المحلول
وأنت الخريطة إلى كائنات الأعمال من خلال التصميم. هذا يعمل حتى إذا كان لديك الكائنات الأعمال POCO لها شكل مختلف عن الكيانات الخاصة بك.
var q = from dataObject in Context.DataObjects
select new BusinessObject
{
Name = dataObject.Name,
RelatedObjectName = dataObject.RelatedObject.Name, // works even if RelatedObject is null
DirectChildren = from c in dataObject.Children
select new ChildBusinessObject
{
Name = c.Name
// etc.
}
GrandChildren = from c in dataObject.Children
from gc in c.Children
select new ChildBusinessObject
{
Name = c.Name
// etc.
},
// etc.
};
نصائح أخرى
وهذه ليست الإجابة على أسئلتك مباشرة - ولكن لمشاريع أقل تعقيدا يمكنني استخدام هذا المنتج HTTP : //www.devexpress.com/Products/NET/ORM/ (.NET كائن علائقي أداة مخطط من DevExpress)
ومثال على استخدام Automapper، cmapper كونها فئة Meldmapping،
cMapper.FillBusinessObject(ViewModel, BusinessObject); // To map from ViewModel to BO
cMapper.FillModel(BusinessObject, ViewModel); // To map from BO to ViewModel
وشكرا على التصويت:)
لا تنتمي إلى StackOverflow