मुझे पता है कि यह राय हो सकती है, लेकिन मैं सर्वोत्तम प्रथाओं की तलाश में हूं।क्या मुझे अपने डीएएल से IENumerable <T> या IQueryable <T> वापस करना चाहिए?
मैं समझता हूँ के रूप में, IQueryable<T>
IEnumerable<T>
लागू करता है, इसलिए मेरे दाल में, मैं वर्तमान निम्नलिखित की तरह विधि हस्ताक्षर है:
IEnumerable<Product> GetProducts();
IEnumerable<Product> GetProductsByCategory(int cateogoryId);
Product GetProduct(int productId);
मैं IQueryable<T>
यहाँ प्रयोग करना चाहिए?
किसी भी दृष्टिकोण के पेशेवरों और विपक्ष क्या हैं?
ध्यान दें कि मैं भंडार पैटर्न का उपयोग करने पर योजना बना रहा हूँ तो मैं तो जैसे एक वर्ग होगा:
public class ProductRepository {
DBDataContext db = new DBDataContext(<!-- connection string -->);
public IEnumerable<Product> GetProductsNew(int daysOld) {
return db.GetProducts()
.Where(p => p.AddedDateTime > DateTime.Now.AddDays(-daysOld));
}
}
मैं अपने IEnumerable<T>
IQueryable<T>
को बदल देना चाहिए? एक या दूसरे के लिए क्या फायदे/नुकसान हैं?
निकली ने कहा। बुलेट बिंदुओं के साथ संक्षिप्त संक्षेप। – Armstrongest
ठीक है। मैंने हमेशा एक ही बाल्टी में आईएलिस्ट और आईनेमरेबल को लम्बा किया है, लेकिन मुझे यह विचार बेहतर लगता है। – scottm