मैं एक सादे पुराने CLR वस्तु जो अनिवार्य रूप से दो इकाई की रूपरेखा वस्तुओं के लिए एक आवरण है के लिए LINQ में टाइप वस्तुओं शुरु कर रहा है, मैं यह कर रहा हूँ तो मैं MVC ढांचे में एक जोरदार टाइप किया दृश्य को यह आवरण वस्तु पारित कर सकते हैं ।दृढ़ता से संस्थाओं
public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
IEnumerable<Bar> tempBar = ListBarsByUserID(userID);
IEnumerable<FooWrapper> results = (from f in _entities.FooSet
join b in tempBar on f.ID equals b.foos.ID
select new FooWrapper(f, b));
return results;
}
यह संस्थाओं क्योंकि जाहिर LINQ काम नहीं करता है parametrized का समर्थन नहीं करता:
public class FooWrapper
{
public FooWrapper(Foo f, Bar b)
{
this.FooObject = f;
this.BarObject = b;
}
public Foo FooObject { get; private set; }
public Bar BarObject { get; private set; }
}
क्या मैं अब तक मेरी ListFoosWithBars समारोह के लिए है इस प्रकार है: मेरे foo आवरण वर्ग बहुत सरल है प्रारंभिकरण, एक अपवाद फेंक दिया गया है जो कहता है: "LINQ से इकाइयों में केवल पैरामीटर रहित कन्स्ट्रक्टर और प्रारंभकर्ता समर्थित हैं।" मैं सोच रहा था कि क्या यही परिणाम प्राप्त करने का दूसरा तरीका है?
वही बात टाइप की गई थी, तो आप जीत गए। – AdamSane
बिल्कुल सही, धन्यवाद! प्रारंभकर्ता में टाइप नाम के बाद छोड़ने के लिए –