मेरे पास 'MyProject.Data' नामक एक परियोजना में 'अनुच्छेद' नामक एक वर्ग है, जो मेरे वेब एप्लिकेशन के लिए डेटा लेयर के रूप में कार्य करता है।
मेरे पास 'MyProject.Admin' नामक एक अलग परियोजना है, जो डेटा को देखने / संपादित करने के लिए एक वेब-आधारित व्यवस्थापक प्रणाली है, और ASP.NET डायनेमिक डेटा का उपयोग करके बनाया गया था।
मूल रूप से मैं एक आंशिक वर्ग का उपयोग करके अनुच्छेद वर्ग का विस्तार करना चाहता हूं, ताकि मैं इसके गुणों में से एक "UIHint" एक्सटेंडर के साथ बढ़ा सकूं, जो मुझे सामान्य बहु-पंक्ति टेक्स्टबॉक्स को FCKEdit नियंत्रण के साथ बदलने की अनुमति देगा।
मेरा आंशिक वर्ग और विस्तारक इस तरह दिखेगा:
[MetadataType(typeof(ProjectMetaData))]
public partial class Project
{
}
public class ProjectMetaData
{
[UIHint("FCKeditor")]
public object ItemDetails { get; set; }
}
अब यह सब ठीक काम करता है यदि आंशिक वर्ग मूल आंशिक वर्ग - यानी MyProject.Data परियोजना के समान परियोजना में है।
लेकिन UI व्यवहार को डेटा लेयर में नहीं बैठना चाहिए, बल्कि एडमिन लेयर में होना चाहिए। इसलिए मैं इस कक्षा को MyProject.Admin में स्थानांतरित करना चाहता हूं।
हालांकि, अगर मैं ऐसा करता हूं, तो कार्यक्षमता खो जाती है।
मेरा मौलिक प्रश्न है: क्या मेरे पास अलग-अलग परियोजनाओं में 2 आंशिक वर्ग हो सकते हैं, लेकिन दोनों एक ही "वर्ग" का संदर्भ देते हैं?
यदि नहीं, तो क्या यूआई लॉजिक के साथ डेटा-लेयर लॉजिक को मिलाए बिना मैं जो करने की कोशिश कर रहा हूं, उसे पूरा करने का एक तरीका है?
MetadataType
मॉडल को ViewModels की तरह बनाता है।