أدوات لتعيين كائنات الأعمال (كائنات DTO) من الكيانات في asp.net بعثة التحقق المشتركة؟

StackOverflow https://stackoverflow.com/questions/1340819

سؤال

وهناك أي وسيلة أو أداة مساعدة (مخطط التجميع) إلى كائنات بناء الأعمال التجارية من الكيانات (والتي يتم الحصول عليها من 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

وشكرا على التصويت:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top