के माध्यम से LINQ से इकाइयों में मेरी एक ऐसी स्थिति है जहां मैं विभिन्न इकाई फ्रेमवर्क कक्षाओं पर समान संचालन करने के लिए एक एकल व्यावसायिक तर्क वर्ग का उपयोग करना चाहता हूं। मैंने एक इंटरफेस परिभाषित किया है जो ये वर्ग आंशिक वर्ग फ़ाइल में लागू होते हैं।इंटरफ़ेस संपत्ति
हालांकि जब मैं इन इंटरफ़ेस विधियों के खिलाफ एक LINQ लिखने के लिए LINQ लिखने का प्रयास करता हूं, तो मुझे एक असमर्थित अपवाद प्राप्त होता है क्योंकि क्वेरी क्लास के गुणों का उपयोग सीधे नहीं बल्कि इंटरफ़ेस के माध्यम से करती है।
मैं डेटाबेस स्तर पर भारी भारोत्तोलन रखना चाहता हूं, तो क्या LINQ को ऑब्जेक्ट्स का उपयोग किए बिना इसे हासिल करने का कोई तरीका है?
यहां कुछ कोड है जो मेरी समस्या का प्रदर्शन करता है (यह एक कारखाने द्वारा बनाई गई एक सामान्य भंडार वर्ग का उपयोग कर रहा है)।
public interface INamedEntity
{
int ID { get; set; }
string Name { get; set; }
}
// This is an Entity Framework class which has CustomerID and CustomerName properties.
public partial class Customer: INamedEntity
{
int INamedEntity.ID
{
get { return this.CustomerID; }
set { this.CustomerID = value; }
}
string INamedEntity.Name
{
get { return this.CustomerName; }
set { this.CustomerName = value; }
}
}
...
public string GetName<T>(int entityID) where T: EntityObject, INamedEntity
{
using(var repository = RepositoryFactory.CreateRepository<T>())
{
return repository
.Where(e => e.ID == entityID)
.Select(e.Name)
.Single();
}
}
हां, यह समस्या की तरह दिखता है। – gareththegeek